@@ -550,7 +550,6 @@ describe('Parse.Relation testing', () => {
550
550
} ) ;
551
551
return Promise . resolve ( ) ;
552
552
} ) . then ( ( ) => {
553
- console . log ( '' ) ;
554
553
// Query on the relation of another owner
555
554
let object = new Parse . Object ( 'AnotherOwner' ) ;
556
555
object . id = anotherOwner . id ;
@@ -571,4 +570,86 @@ describe('Parse.Relation testing', () => {
571
570
done ( ) ;
572
571
} )
573
572
} ) ;
573
+
574
+ it ( "select query" , function ( done ) {
575
+ var RestaurantObject = Parse . Object . extend ( "Restaurant" ) ;
576
+ var PersonObject = Parse . Object . extend ( "Person" ) ;
577
+ var OwnerObject = Parse . Object . extend ( 'Owner' ) ;
578
+ var restaurants = [
579
+ new RestaurantObject ( { ratings : 5 , location : "Djibouti" } ) ,
580
+ new RestaurantObject ( { ratings : 3 , location : "Ouagadougou" } ) ,
581
+ ] ;
582
+ let persons = [
583
+ new PersonObject ( { name : "Bob" , hometown : "Djibouti" } ) ,
584
+ new PersonObject ( { name : "Tom" , hometown : "Ouagadougou" } ) ,
585
+ new PersonObject ( { name : "Billy" , hometown : "Detroit" } ) ,
586
+ ] ;
587
+ let owner = new OwnerObject ( { name : 'Joe' } ) ;
588
+ let ownerId ;
589
+ let allObjects = [ owner ] . concat ( restaurants ) . concat ( persons ) ;
590
+ expect ( allObjects . length ) . toEqual ( 6 ) ;
591
+ Parse . Object . saveAll ( [ owner ] . concat ( restaurants ) . concat ( persons ) ) . then ( function ( ) {
592
+ ownerId = owner . id ;
593
+ owner . relation ( 'restaurants' ) . add ( restaurants ) ;
594
+ return owner . save ( )
595
+ } ) . then ( ( ) => {
596
+ let unfetchedOwner = new OwnerObject ( ) ;
597
+ unfetchedOwner . id = owner . id ;
598
+ var query = unfetchedOwner . relation ( 'restaurants' ) . query ( ) ;
599
+ query . greaterThan ( "ratings" , 4 ) ;
600
+ var mainQuery = new Parse . Query ( PersonObject ) ;
601
+ mainQuery . matchesKeyInQuery ( "hometown" , "location" , query ) ;
602
+ mainQuery . find ( expectSuccess ( {
603
+ success : function ( results ) {
604
+ equal ( results . length , 1 ) ;
605
+ if ( results . length > 0 ) {
606
+ equal ( results [ 0 ] . get ( 'name' ) , 'Bob' ) ;
607
+ }
608
+ done ( ) ;
609
+ }
610
+ } ) ) ;
611
+ } ) ;
612
+ } ) ;
613
+
614
+ it ( "dontSelect query" , function ( done ) {
615
+ var RestaurantObject = Parse . Object . extend ( "Restaurant" ) ;
616
+ var PersonObject = Parse . Object . extend ( "Person" ) ;
617
+ var OwnerObject = Parse . Object . extend ( 'Owner' ) ;
618
+ var restaurants = [
619
+ new RestaurantObject ( { ratings : 5 , location : "Djibouti" } ) ,
620
+ new RestaurantObject ( { ratings : 3 , location : "Ouagadougou" } ) ,
621
+ ] ;
622
+ let persons = [
623
+ new PersonObject ( { name : "Bob" , hometown : "Djibouti" } ) ,
624
+ new PersonObject ( { name : "Tom" , hometown : "Ouagadougou" } ) ,
625
+ new PersonObject ( { name : "Billy" , hometown : "Detroit" } ) ,
626
+ ] ;
627
+ let owner = new OwnerObject ( { name : 'Joe' } ) ;
628
+ let ownerId ;
629
+ let allObjects = [ owner ] . concat ( restaurants ) . concat ( persons ) ;
630
+ expect ( allObjects . length ) . toEqual ( 6 ) ;
631
+ Parse . Object . saveAll ( [ owner ] . concat ( restaurants ) . concat ( persons ) ) . then ( function ( ) {
632
+ ownerId = owner . id ;
633
+ owner . relation ( 'restaurants' ) . add ( restaurants ) ;
634
+ return owner . save ( )
635
+ } ) . then ( ( ) => {
636
+ let unfetchedOwner = new OwnerObject ( ) ;
637
+ unfetchedOwner . id = owner . id ;
638
+ var query = unfetchedOwner . relation ( 'restaurants' ) . query ( ) ;
639
+ query . greaterThan ( "ratings" , 4 ) ;
640
+ var mainQuery = new Parse . Query ( PersonObject ) ;
641
+ mainQuery . doesNotMatchKeyInQuery ( "hometown" , "location" , query ) ;
642
+ mainQuery . ascending ( 'name' ) ;
643
+ mainQuery . find ( expectSuccess ( {
644
+ success : function ( results ) {
645
+ equal ( results . length , 2 ) ;
646
+ if ( results . length > 0 ) {
647
+ equal ( results [ 0 ] . get ( 'name' ) , 'Billy' ) ;
648
+ equal ( results [ 1 ] . get ( 'name' ) , 'Tom' ) ;
649
+ }
650
+ done ( ) ;
651
+ }
652
+ } ) ) ;
653
+ } ) ;
654
+ } ) ;
574
655
} ) ;
0 commit comments