11import { stackInstance } from '../utils/stack-instance' ;
22import { Entries } from '../../src/lib/entries' ;
33import { TEntry } from './types' ;
4+ import { QueryOperation } from 'src/lib/types' ;
5+ import { Query } from 'src/lib/query' ;
46
57const stack = stackInstance ( ) ;
68
@@ -35,10 +37,26 @@ describe('Query Operators API test cases', () => {
3537 expect ( ( query . entries [ 0 ] as any ) . multi_line ) . not . toBeDefined ( )
3638 }
3739 } ) ;
38- } ) ;
40+ it ( 'should return entries matching any of the conditions' , async ( ) => {
41+ const query1 : Query = await makeEntries ( 'contenttype_uid' ) . query ( ) . containedIn ( 'title' , [ 'value' ] ) ;
42+ const query2 : Query = await makeEntries ( 'contenttype_uid' ) . query ( ) . where ( 'title' , QueryOperation . EQUALS , 'value2' ) ;
43+ const query = await makeEntries ( 'contenttype_uid' ) . query ( ) . or ( query1 , query2 ) . find < TEntry > ( ) ;
44+
45+ if ( query . entries ) {
46+ expect ( query . entries ) . toHaveLength ( 2 ) ;
47+ expect ( query . entries [ 0 ] . _version ) . toBeDefined ( ) ;
48+ expect ( query . entries [ 0 ] . locale ) . toBeDefined ( ) ;
49+ expect ( query . entries [ 0 ] . uid ) . toBeDefined ( ) ;
50+ expect ( query . entries [ 0 ] . title ) . toBe ( 'value2' ) ;
51+ expect ( query . entries [ 1 ] . _version ) . toBeDefined ( ) ;
52+ expect ( query . entries [ 1 ] . locale ) . toBeDefined ( ) ;
53+ expect ( query . entries [ 1 ] . uid ) . toBeDefined ( ) ;
54+ expect ( query . entries [ 1 ] . title ) . toBe ( 'value' ) ;
55+ }
56+ } ) ;
57+ } ) ;
3958
40- function makeEntries ( contentTypeUid = '' ) : Entries {
59+ function makeEntries ( contentTypeUid = '' ) : Entries {
4160 const entries = stack . ContentType ( contentTypeUid ) . Entry ( ) ;
42-
4361 return entries ;
44- }
62+ }
0 commit comments