@@ -135,4 +135,48 @@ describe('open in discover action', () => {
135135 expect ( locator . getRedirectUrl ) . toHaveBeenCalledWith ( viewUnderlyingDataArgs ) ;
136136 expect ( globalThis . open ) . toHaveBeenCalledWith ( discoverUrl , '_blank' ) ;
137137 } ) ;
138+
139+ it ( 'navigates to discover for an ES|QL chart but without the filters' , async ( ) => {
140+ const viewUnderlyingDataArgs = {
141+ dataViewSpec : { id : 'index-pattern-id' } ,
142+ timeRange : { } ,
143+ filters : [ { meta : { type : 'range' } } ] ,
144+ query : undefined ,
145+ columns : [ ] ,
146+ } ;
147+
148+ const embeddable = {
149+ ...compatibleEmbeddableApi ,
150+ getViewUnderlyingDataArgs : jest . fn ( ( ) => viewUnderlyingDataArgs ) ,
151+ isTextBasedLanguage : jest . fn ( ( ) => true ) ,
152+ } ;
153+
154+ const discoverUrl = 'https://discover-redirect-url' ;
155+ const locator = {
156+ getRedirectUrl : jest . fn ( ( ) => discoverUrl ) ,
157+ } as unknown as DiscoverAppLocator ;
158+
159+ globalThis . open = jest . fn ( ) ;
160+
161+ await createOpenInDiscoverAction (
162+ locator ,
163+ {
164+ get : ( ) => ( {
165+ isTimeBased : ( ) => true ,
166+ toSpec : ( ) => ( { id : 'index-pattern-id' } ) ,
167+ } ) ,
168+ } as unknown as DataViewsService ,
169+ true
170+ ) . execute ( {
171+ embeddable,
172+ } as ActionExecutionContext < EmbeddableApiContext > ) ;
173+
174+ expect ( embeddable . getViewUnderlyingDataArgs ) . toHaveBeenCalled ( ) ;
175+ const viewUnderlyingDataArgsWithoutFilters = {
176+ ...viewUnderlyingDataArgs ,
177+ filters : [ ] ,
178+ } ;
179+ expect ( locator . getRedirectUrl ) . toHaveBeenCalledWith ( viewUnderlyingDataArgsWithoutFilters ) ;
180+ expect ( globalThis . open ) . toHaveBeenCalledWith ( discoverUrl , '_blank' ) ;
181+ } ) ;
138182} ) ;
0 commit comments