@@ -1422,6 +1422,78 @@ describe('Parse.Query testing', () => {
1422
1422
} ) ;
1423
1423
} ) ;
1424
1424
1425
+ it ( 'properly includes array' , ( done ) => {
1426
+ let objects = [ ] ;
1427
+ let total = 0 ;
1428
+ while ( objects . length != 5 ) {
1429
+ let object = new Parse . Object ( 'AnObject' ) ;
1430
+ object . set ( 'key' , objects . length ) ;
1431
+ total += objects . length ;
1432
+ objects . push ( object ) ;
1433
+ }
1434
+ Parse . Object . saveAll ( objects ) . then ( ( ) => {
1435
+ let object = new Parse . Object ( "AContainer" ) ;
1436
+ object . set ( 'objects' , objects ) ;
1437
+ return object . save ( ) ;
1438
+ } ) . then ( ( ) => {
1439
+ let query = new Parse . Query ( 'AContainer' ) ;
1440
+ query . include ( 'objects' ) ;
1441
+ return query . find ( )
1442
+ } ) . then ( ( results ) => {
1443
+ expect ( results . length ) . toBe ( 1 ) ;
1444
+ let res = results [ 0 ] ;
1445
+ let objects = res . get ( 'objects' ) ;
1446
+ expect ( objects . length ) . toBe ( 5 ) ;
1447
+ objects . forEach ( ( object ) => {
1448
+ total -= object . get ( 'key' ) ;
1449
+ } ) ;
1450
+ expect ( total ) . toBe ( 0 ) ;
1451
+ done ( )
1452
+ } , ( ) => {
1453
+ fail ( 'should not fail' ) ;
1454
+ done ( ) ;
1455
+ } )
1456
+ } ) ;
1457
+
1458
+ it ( 'properly includes array of mixed objects' , ( done ) => {
1459
+ let objects = [ ] ;
1460
+ let total = 0 ;
1461
+ while ( objects . length != 5 ) {
1462
+ let object = new Parse . Object ( 'AnObject' ) ;
1463
+ object . set ( 'key' , objects . length ) ;
1464
+ total += objects . length ;
1465
+ objects . push ( object ) ;
1466
+ }
1467
+ while ( objects . length != 10 ) {
1468
+ let object = new Parse . Object ( 'AnotherObject' ) ;
1469
+ object . set ( 'key' , objects . length ) ;
1470
+ total += objects . length ;
1471
+ objects . push ( object ) ;
1472
+ }
1473
+ Parse . Object . saveAll ( objects ) . then ( ( ) => {
1474
+ let object = new Parse . Object ( "AContainer" ) ;
1475
+ object . set ( 'objects' , objects ) ;
1476
+ return object . save ( ) ;
1477
+ } ) . then ( ( ) => {
1478
+ let query = new Parse . Query ( 'AContainer' ) ;
1479
+ query . include ( 'objects' ) ;
1480
+ return query . find ( )
1481
+ } ) . then ( ( results ) => {
1482
+ expect ( results . length ) . toBe ( 1 ) ;
1483
+ let res = results [ 0 ] ;
1484
+ let objects = res . get ( 'objects' ) ;
1485
+ expect ( objects . length ) . toBe ( 10 ) ;
1486
+ objects . forEach ( ( object ) => {
1487
+ total -= object . get ( 'key' ) ;
1488
+ } ) ;
1489
+ expect ( total ) . toBe ( 0 ) ;
1490
+ done ( )
1491
+ } , ( err ) => {
1492
+ fail ( 'should not fail' ) ;
1493
+ done ( ) ;
1494
+ } )
1495
+ } )
1496
+
1425
1497
it ( "result object creation uses current extension" , function ( done ) {
1426
1498
var ParentObject = Parse . Object . extend ( { className : "ParentObject" } ) ;
1427
1499
// Add a foo() method to ChildObject.
0 commit comments