File tree Expand file tree Collapse file tree 2 files changed +36
-37
lines changed Expand file tree Collapse file tree 2 files changed +36
-37
lines changed Original file line number Diff line number Diff line change @@ -152,4 +152,40 @@ describe('github issues checks', () => {
152152 expect ( result . errors [ 0 ] . message ) . toBe ( 'You are too young' ) ;
153153 } ) ;
154154 } ) ;
155+
156+ it ( '#93 $or, $and operator for filtering' , async ( ) => {
157+ schemaComposer . rootQuery ( ) . addFields ( {
158+ users : UserTC . getResolver ( 'findMany' ) ,
159+ } ) ;
160+ const schema = schemaComposer . buildSchema ( ) ;
161+ await UserModel . create ( {
162+ _id : '100000000000000000000301' ,
163+ name : 'User301' ,
164+ age : 301 ,
165+ } ) ;
166+ await UserModel . create ( {
167+ _id : '100000000000000000000302' ,
168+ name : 'User302' ,
169+ age : 302 ,
170+ gender : 'male' ,
171+ } ) ;
172+ await UserModel . create ( {
173+ _id : '100000000000000000000303' ,
174+ name : 'User303' ,
175+ age : 302 ,
176+ gender : 'female' ,
177+ } ) ;
178+
179+ const res = await graphql . graphql (
180+ schema ,
181+ `
182+ {
183+ users(filter: { OR: [{ age: 301 }, { AND: [{ gender: male }, { age: 302 }] }] }) {
184+ name
185+ }
186+ }
187+ `
188+ ) ;
189+ expect ( res ) . toEqual ( { data : { users : [ { name : 'User301' } , { name : 'User302' } ] } } ) ;
190+ } ) ;
155191} ) ;
Original file line number Diff line number Diff line change @@ -163,41 +163,4 @@ describe('integration tests', () => {
163163 expect ( Object . keys ( res . data . user . rawData ) ) . toMatchSnapshot ( 'projection from all fields' ) ;
164164 } ) ;
165165 } ) ;
166-
167- it ( 'filter nested OR/AND' , async ( ) => {
168- const UserTC = composeWithMongoose ( UserModel ) ;
169- schemaComposer . rootQuery ( ) . addFields ( {
170- users : UserTC . getResolver ( 'findMany' ) ,
171- } ) ;
172- const schema = schemaComposer . buildSchema ( ) ;
173- await UserModel . create ( {
174- _id : '100000000000000000000301' ,
175- name : 'User301' ,
176- age : 301 ,
177- } ) ;
178- await UserModel . create ( {
179- _id : '100000000000000000000302' ,
180- name : 'User302' ,
181- age : 302 ,
182- gender : 'male' ,
183- } ) ;
184- await UserModel . create ( {
185- _id : '100000000000000000000303' ,
186- name : 'User303' ,
187- age : 302 ,
188- gender : 'female' ,
189- } ) ;
190-
191- const res = await graphql (
192- schema ,
193- `
194- {
195- users(filter: { OR: [{ age: 301 }, { AND: [{ gender: male }, { age: 302 }] }] }) {
196- name
197- }
198- }
199- `
200- ) ;
201- expect ( res ) . toEqual ( { data : { users : [ { name : 'User301' } , { name : 'User302' } ] } } ) ;
202- } ) ;
203166} ) ;
You can’t perform that action at this time.
0 commit comments