@@ -9518,84 +9518,92 @@ describe('ParseGraphQLServer', () => {
9518
9518
9519
9519
it ( 'should support where argument on object field that contains false boolean value or 0 number value' , async ( ) => {
9520
9520
try {
9521
- const someObjectFieldValue = {
9522
- foo : { bar : 'baz' , qux : true , quux : 100 } ,
9523
- number : 10 ,
9521
+ const someObjectFieldValue1 = {
9522
+ foo : { bar : true , baz : 100 } ,
9524
9523
} ;
9525
9524
9526
- const object = new Parse . Object ( 'SomeClass' ) ;
9527
- await object . save ( {
9528
- someObjectField : someObjectFieldValue ,
9525
+ const someObjectFieldValue2 = {
9526
+ foo : { bar : false , baz : 0 } ,
9527
+ } ;
9528
+
9529
+ const object1 = new Parse . Object ( 'SomeClass' ) ;
9530
+ await object1 . save ( {
9531
+ someObjectField : someObjectFieldValue1 ,
9532
+ } ) ;
9533
+ const object2 = new Parse . Object ( 'SomeClass' ) ;
9534
+ await object2 . save ( {
9535
+ someObjectField : someObjectFieldValue2 ,
9529
9536
} ) ;
9530
9537
9531
- const whereWithQuxFalse = {
9538
+ const whereToObject1 = {
9532
9539
someObjectField : {
9533
- notEqualTo : { key : 'foo.bar' , value : 'bat' } ,
9534
- greaterThan : { key : 'number' , value : 9 } ,
9535
- lessThan : { key : 'number' , value : 11 } ,
9536
- equalTo : { key : 'foo.qux' , value : false } ,
9540
+ equalTo : { key : 'foo.bar' , value : true } ,
9541
+ notEqualTo : { key : 'foo.baz' , value : 0 } ,
9537
9542
} ,
9538
9543
} ;
9539
- const whereWithQuxTrue = {
9544
+ const whereToObject2 = {
9540
9545
someObjectField : {
9541
- ... whereWithQuxFalse . someObjectField ,
9542
- equalTo : { key : 'foo.qux ' , value : true } ,
9546
+ notEqualTo : { key : 'foo.bar' , value : true } ,
9547
+ equalTo : { key : 'foo.baz ' , value : 0 } ,
9543
9548
} ,
9544
9549
} ;
9545
- const whereWithQuux0 = {
9550
+
9551
+ const whereToAll = {
9546
9552
someObjectField : {
9547
- notEqualTo : { key : 'foo.bar' , value : 'bat' } ,
9548
- greaterThan : { key : 'number' , value : 9 } ,
9549
- lessThan : { key : 'number' , value : 11 } ,
9550
- equalTo : { key : 'foo.quux' , value : 0 } ,
9553
+ lessThan : { key : 'foo.baz' , value : 101 } ,
9551
9554
} ,
9552
9555
} ;
9553
- const whereWithQuux100 = {
9556
+
9557
+ const whereToNone = {
9554
9558
someObjectField : {
9555
- notEqualTo : { key : 'foo.bar' , value : 'bat' } ,
9556
- greaterThan : { key : 'number' , value : 9 } ,
9557
- lessThan : { key : 'number' , value : 11 } ,
9558
- equalTo : { key : 'foo.quux' , value : 100 } ,
9559
+ notEqualTo : { key : 'foo.bar' , value : true } ,
9560
+ equalTo : { key : 'foo.baz' , value : 1 } ,
9559
9561
} ,
9560
9562
} ;
9563
+
9561
9564
const queryResult = await apolloClient . query ( {
9562
9565
query : gql `
9563
9566
query GetSomeObject(
9564
- $id: ID!
9565
- $whereWithQuxFalse: SomeClassWhereInput
9566
- $whereWithQuxTrue: SomeClassWhereInput
9567
- $whereWithQuux0: SomeClassWhereInput
9568
- $whereWithQuux100: SomeClassWhereInput
9567
+ $id1: ID!
9568
+ $id2: ID!
9569
+ $whereToObject1: SomeClassWhereInput
9570
+ $whereToObject2: SomeClassWhereInput
9571
+ $whereToAll: SomeClassWhereInput
9572
+ $whereToNone: SomeClassWhereInput
9569
9573
) {
9570
- someClass(id: $id ) {
9574
+ obj1: someClass(id: $id1 ) {
9571
9575
id
9572
9576
someObjectField
9573
9577
}
9574
- someClasses(where: $whereWithQuxFalse) {
9578
+ obj2: someClass(id: $id2) {
9579
+ id
9580
+ someObjectField
9581
+ }
9582
+ onlyObj1: someClasses(where: $whereToObject1) {
9575
9583
edges {
9576
9584
node {
9577
9585
id
9578
9586
someObjectField
9579
9587
}
9580
9588
}
9581
9589
}
9582
- someClassesWithQuxTrue : someClasses(where: $whereWithQuxTrue ) {
9590
+ onlyObj2 : someClasses(where: $whereToObject2 ) {
9583
9591
edges {
9584
9592
node {
9585
9593
id
9586
9594
someObjectField
9587
9595
}
9588
9596
}
9589
9597
}
9590
- someClassesWithQuux0 : someClasses(where: $whereWithQuux0 ) {
9598
+ all : someClasses(where: $whereToAll ) {
9591
9599
edges {
9592
9600
node {
9593
9601
id
9594
9602
someObjectField
9595
9603
}
9596
9604
}
9597
9605
}
9598
- someClassesWithQuux100 : someClasses(where: $whereWithQuux100 ) {
9606
+ none : someClasses(where: $whereToNone ) {
9599
9607
edges {
9600
9608
node {
9601
9609
id
@@ -9606,31 +9614,27 @@ describe('ParseGraphQLServer', () => {
9606
9614
}
9607
9615
` ,
9608
9616
variables : {
9609
- id : object . id ,
9610
- whereWithQuxFalse,
9611
- whereWithQuxTrue,
9612
- whereWithQuux0,
9613
- whereWithQuux100,
9617
+ id1 : object1 . id ,
9618
+ id2 : object2 . id ,
9619
+ whereToObject1,
9620
+ whereToObject2,
9621
+ whereToAll,
9622
+ whereToNone,
9614
9623
} ,
9615
9624
} ) ;
9616
9625
9617
- const {
9618
- someClass : getResult ,
9619
- someClasses,
9620
- someClassesWithQuxTrue,
9621
- someClassesWithQuux0,
9622
- someClassesWithQuux100,
9623
- } = queryResult . data ;
9626
+ const { obj1, obj2, onlyObj1, onlyObj2, all, none } = queryResult . data ;
9624
9627
9625
- const { someObjectField } = getResult ;
9626
- expect ( someObjectField ) . toEqual ( someObjectFieldValue ) ;
9628
+ expect ( obj1 . someObjectField ) . toEqual ( someObjectFieldValue1 ) ;
9629
+ expect ( obj2 . someObjectField ) . toEqual ( someObjectFieldValue2 ) ;
9627
9630
9628
9631
// Checks class query results
9629
- expect ( someClasses . edges . length ) . toEqual ( 0 ) ;
9630
- expect ( someClassesWithQuxTrue . edges . length ) . toEqual ( 1 ) ;
9631
-
9632
- expect ( someClassesWithQuux0 . edges . length ) . toEqual ( 0 ) ;
9633
- expect ( someClassesWithQuux100 . edges . length ) . toEqual ( 1 ) ;
9632
+ expect ( onlyObj1 . edges . length ) . toEqual ( 1 ) ;
9633
+ expect ( onlyObj1 . edges [ 0 ] . node . someObjectField ) . toEqual ( someObjectFieldValue1 ) ;
9634
+ expect ( onlyObj2 . edges . length ) . toEqual ( 1 ) ;
9635
+ expect ( onlyObj2 . edges [ 0 ] . node . someObjectField ) . toEqual ( someObjectFieldValue2 ) ;
9636
+ expect ( all . edges . length ) . toEqual ( 2 ) ;
9637
+ expect ( none . edges . length ) . toEqual ( 0 ) ;
9634
9638
} catch ( e ) {
9635
9639
handleError ( e ) ;
9636
9640
}
0 commit comments