@@ -14,7 +14,7 @@ import userEvent from '@testing-library/user-event';
1414import { dataViewMock } from '@kbn/discover-utils/src/__mocks__' ;
1515import { setUnifiedDocViewerServices } from '@kbn/unified-doc-viewer-plugin/public/plugin' ;
1616import { mockUnifiedDocViewerServices } from '@kbn/unified-doc-viewer-plugin/public/__mocks__' ;
17- import { DocViewsRegistry } from '@kbn/unified-doc-viewer' ;
17+ import { DocViewsRegistry , type DocViewerApi } from '@kbn/unified-doc-viewer' ;
1818import { ContextApp , type ContextAppProps } from './context_app' ;
1919import { createDiscoverServicesMock } from '../../__mocks__/services' ;
2020import { DiscoverTestProvider } from '../../__mocks__/test_provider' ;
@@ -30,8 +30,6 @@ jest.mock('./hooks/use_context_app_fetch');
3030jest . mock ( './hooks/use_context_app_state' ) ;
3131
3232const services = createDiscoverServicesMock ( ) ;
33- const addFiltersMock = jest . spyOn ( services . filterManager , 'addFilters' ) ;
34- const updateSavedObjectMock = jest . spyOn ( services . dataViews , 'updateSavedObject' ) ;
3533const mockUseContextAppFetch = jest . mocked ( useContextAppFetch ) ;
3634const mockUseContextAppState = jest . mocked ( useContextAppState ) ;
3735
@@ -91,15 +89,44 @@ const setDocViewerRegistry = (render: (props: DocViewRenderProps) => React.React
9189} ;
9290
9391describe ( 'ContextApp test' , ( ) => {
92+ const addFilterMock = jest . fn ( ) ;
93+ const setExpandedDocMock = jest . fn ( ) ;
94+ const docViewerRef = React . createRef < DocViewerApi > ( ) ;
9495 const defaultProps : ContextAppProps = {
9596 dataView : dataViewMock ,
9697 anchorId : 'mocked_anchor_id' ,
98+ addFilter : addFilterMock ,
99+ expandedDoc : undefined ,
100+ initialDocViewerTabId : undefined ,
101+ docViewerRef,
102+ setExpandedDoc : setExpandedDocMock ,
97103 } ;
98104
99105 const renderComponent = ( ) => {
106+ const StatefulContextApp = ( ) => {
107+ const [ expandedDoc , setExpandedDocState ] = React . useState ( defaultProps . expandedDoc ) ;
108+ const [ initialDocViewerTabId , setInitialDocViewerTabId ] = React . useState (
109+ defaultProps . initialDocViewerTabId
110+ ) ;
111+ const setExpandedDoc : ContextAppProps [ 'setExpandedDoc' ] = ( doc , options ) => {
112+ setExpandedDocMock ( doc , options ) ;
113+ setExpandedDocState ( doc ) ;
114+ setInitialDocViewerTabId ( options ?. initialTabId ) ;
115+ } ;
116+
117+ return (
118+ < ContextApp
119+ { ...defaultProps }
120+ expandedDoc = { expandedDoc }
121+ initialDocViewerTabId = { initialDocViewerTabId }
122+ setExpandedDoc = { setExpandedDoc }
123+ />
124+ ) ;
125+ } ;
126+
100127 renderWithKibanaRenderContext (
101128 < DiscoverTestProvider services = { services } >
102- < ContextApp { ... defaultProps } />
129+ < StatefulContextApp />
103130 </ DiscoverTestProvider >
104131 ) ;
105132 } ;
@@ -148,7 +175,7 @@ describe('ContextApp test', () => {
148175 ) ;
149176 } ) ;
150177
151- it ( 'should set filters correctly ' , async ( ) => {
178+ it ( 'should call addFilter from the doc viewer ' , async ( ) => {
152179 const user = userEvent . setup ( ) ;
153180
154181 setDocViewerRegistry ( ( { filter } ) => (
@@ -168,15 +195,7 @@ describe('ContextApp test', () => {
168195
169196 await user . click ( await screen . findByTestId ( 'docViewFilterButton' ) ) ;
170197
171- expect ( addFiltersMock ) . toHaveBeenCalledTimes ( 1 ) ;
172- expect ( addFiltersMock ) . toHaveBeenCalledWith ( [
173- {
174- $state : { store : 'appState' } ,
175- meta : { alias : null , disabled : false , index : 'the-data-view-id' , negate : false } ,
176- query : { match_phrase : { extension : 'jpg' } } ,
177- } ,
178- ] ) ;
179- expect ( updateSavedObjectMock ) . toHaveBeenCalledTimes ( 1 ) ;
180- expect ( updateSavedObjectMock ) . toHaveBeenCalledWith ( dataViewMock , 0 , true ) ;
198+ expect ( addFilterMock ) . toHaveBeenCalledTimes ( 1 ) ;
199+ expect ( addFilterMock ) . toHaveBeenCalledWith ( 'extension' , 'jpg' , '+' ) ;
181200 } ) ;
182201} ) ;
0 commit comments