@@ -262,6 +262,40 @@ describe('GlobalSearchState', () => {
262262
263263 const params = mockGetResources . mock . calls [ 0 ] [ 0 ] ;
264264 expect ( params [ 'cardSearchFilter[defaultKey][]' ] ) . toBe ( 'default-value' ) ;
265+ expect ( params [ 'cardSearchFilter[defaultKey][any-of]' ] ) . toBeUndefined ( ) ;
266+ } ) ;
267+
268+ it ( 'should AND the default value with an any-of clause for an explicitly selected value' , ( ) => {
269+ const { store, mockGetResources } = setup ( ) ;
270+
271+ store . dispatch ( new SetDefaultFilterValue ( 'defaultKey' , 'default-value' ) ) ;
272+ store . dispatch (
273+ new UpdateSelectedFilterOption ( 'defaultKey' , [
274+ { label : 'A' , value : 'selected-value' , cardSearchResultCount : null } ,
275+ ] )
276+ ) ;
277+ store . dispatch ( new FetchResources ( ) ) ;
278+
279+ const params = mockGetResources . mock . calls [ 0 ] [ 0 ] ;
280+ expect ( params [ 'cardSearchFilter[defaultKey][]' ] ) . toBe ( 'default-value' ) ;
281+ expect ( params [ 'cardSearchFilter[defaultKey][any-of]' ] ) . toBe ( 'selected-value' ) ;
282+ } ) ;
283+
284+ it ( 'should OR multiple selected values together via a single any-of clause' , ( ) => {
285+ const { store, mockGetResources } = setup ( ) ;
286+
287+ store . dispatch ( new SetDefaultFilterValue ( 'defaultKey' , 'default-value' ) ) ;
288+ store . dispatch (
289+ new UpdateSelectedFilterOption ( 'defaultKey' , [
290+ { label : 'A' , value : 'selected-value-1' , cardSearchResultCount : null } ,
291+ { label : 'B' , value : 'selected-value-2' , cardSearchResultCount : null } ,
292+ ] )
293+ ) ;
294+ store . dispatch ( new FetchResources ( ) ) ;
295+
296+ const params = mockGetResources . mock . calls [ 0 ] [ 0 ] ;
297+ expect ( params [ 'cardSearchFilter[defaultKey][]' ] ) . toBe ( 'default-value' ) ;
298+ expect ( params [ 'cardSearchFilter[defaultKey][any-of]' ] ) . toBe ( 'selected-value-1,selected-value-2' ) ;
265299 } ) ;
266300 } ) ;
267301} ) ;
0 commit comments