@@ -1422,6 +1422,78 @@ describe('Parse.Query testing', () => {
14221422 } ) ;
14231423 } ) ;
14241424
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+
14251497 it ( "result object creation uses current extension" , function ( done ) {
14261498 var ParentObject = Parse . Object . extend ( { className : "ParentObject" } ) ;
14271499 // Add a foo() method to ChildObject.
0 commit comments