@@ -841,6 +841,7 @@ describe('ParseObject', () => {
841841 expect ( p . get ( 'age' ) ) . toBe ( 39 ) ;
842842 done ( ) ;
843843 } ) ;
844+ jest . runAllTicks ( ) ;
844845 expect ( p . _getPendingOps ( ) . length ) . toBe ( 2 ) ;
845846 p . increment ( 'age' ) ;
846847 expect ( p . get ( 'age' ) ) . toBe ( 39 ) ;
@@ -867,17 +868,20 @@ describe('ParseObject', () => {
867868 expect ( xhrs . length ) . toBe ( 0 ) ;
868869 p . increment ( 'updates' ) ;
869870 p . save ( ) ;
871+ jest . runAllTicks ( ) ;
870872 expect ( p . _getPendingOps ( ) . length ) . toBe ( 2 ) ;
871873 expect ( xhrs . length ) . toBe ( 1 ) ;
872874 p . increment ( 'updates' ) ;
873875 p . save ( ) ;
876+ jest . runAllTicks ( ) ;
874877 expect ( p . _getPendingOps ( ) . length ) . toBe ( 3 ) ;
875878 expect ( xhrs . length ) . toBe ( 1 ) ;
876879
877880 xhrs [ 0 ] . status = 200 ;
878881 xhrs [ 0 ] . responseText = JSON . stringify ( { objectId : 'P15' , updates : 1 } ) ;
879882 xhrs [ 0 ] . readyState = 4 ;
880883 xhrs [ 0 ] . onreadystatechange ( ) ;
884+ jest . runAllTicks ( ) ;
881885
882886 expect ( p . _getServerData ( ) ) . toEqual ( { updates : 1 } ) ;
883887 expect ( p . get ( 'updates' ) ) . toBe ( 2 ) ;
@@ -904,6 +908,7 @@ describe('ParseObject', () => {
904908
905909 done ( ) ;
906910 } ) ;
911+ jest . runAllTicks ( ) ;
907912
908913 xhr . status = 404 ;
909914 xhr . responseText = JSON . stringify ( { code : 103 , error : 'Invalid class name' } ) ;
@@ -926,15 +931,18 @@ describe('ParseObject', () => {
926931 expect ( p . _getPendingOps ( ) . length ) . toBe ( 1 ) ;
927932 p . increment ( 'updates' ) ;
928933 p . save ( ) ;
934+ jest . runAllTicks ( ) ;
929935 expect ( p . _getPendingOps ( ) . length ) . toBe ( 2 ) ;
930936 p . set ( 'updates' , 12 ) ;
931937 p . save ( ) ;
938+ jest . runAllTicks ( ) ;
932939 expect ( p . _getPendingOps ( ) . length ) . toBe ( 3 ) ;
933940
934941 xhrs [ 0 ] . status = 404 ;
935942 xhrs [ 0 ] . responseText = JSON . stringify ( { code : 103 , error : 'Invalid class name' } ) ;
936943 xhrs [ 0 ] . readyState = 4 ;
937944 xhrs [ 0 ] . onreadystatechange ( ) ;
945+ jest . runAllTicks ( ) ;
938946
939947 expect ( p . _getPendingOps ( ) . length ) . toBe ( 2 ) ;
940948 expect ( p . _getPendingOps ( ) [ 0 ] ) . toEqual ( {
@@ -965,17 +973,20 @@ describe('ParseObject', () => {
965973 expect ( parent . id ) . toBe ( 'parent' ) ;
966974 done ( ) ;
967975 } ) ;
976+ jest . runAllTicks ( ) ;
968977
969978 expect ( xhrs . length ) . toBe ( 1 ) ;
970979 expect ( xhrs [ 0 ] . open . mock . calls [ 0 ] ) . toEqual (
971980 [ 'POST' , 'https://api.parse.com/1/batch' , true ]
972981 ) ;
973982 xhrs [ 0 ] . responseText = JSON . stringify ( [ { success : { objectId : 'child' } } ] ) ;
974983 xhrs [ 0 ] . onreadystatechange ( ) ;
984+ jest . runAllTicks ( ) ;
975985
976986 expect ( xhrs . length ) . toBe ( 2 ) ;
977987 xhrs [ 1 ] . responseText = JSON . stringify ( { objectId : 'parent' } ) ;
978988 xhrs [ 1 ] . onreadystatechange ( ) ;
989+ jest . runAllTicks ( ) ;
979990 } ) ) ;
980991
981992 it ( 'will fail for a circular dependency of non-existing objects' , ( ) => {
@@ -1052,6 +1063,7 @@ describe('ParseObject', () => {
10521063 expect ( parent . id ) . toBe ( 'parent' ) ;
10531064 done ( ) ;
10541065 } ) ;
1066+ jest . runAllTicks ( ) ;
10551067
10561068 expect ( xhrs . length ) . toBe ( 1 ) ;
10571069 expect ( xhrs [ 0 ] . open . mock . calls [ 0 ] ) . toEqual (
@@ -1072,12 +1084,14 @@ describe('ParseObject', () => {
10721084 ) ;
10731085 xhrs [ 0 ] . responseText = JSON . stringify ( [ { success : { objectId : 'parent' } } ] ) ;
10741086 xhrs [ 0 ] . onreadystatechange ( ) ;
1087+ jest . runAllTicks ( ) ;
10751088
10761089 expect ( parent . id ) . toBe ( 'parent' ) ;
10771090
10781091 expect ( xhrs . length ) . toBe ( 2 ) ;
10791092 xhrs [ 1 ] . responseText = JSON . stringify ( [ { success : { } } ] ) ;
10801093 xhrs [ 1 ] . onreadystatechange ( ) ;
1094+ jest . runAllTicks ( ) ;
10811095 } ) ) ;
10821096
10831097 it ( 'can save a chain of unsaved objects' , asyncHelper ( ( done ) => {
@@ -1107,6 +1121,7 @@ describe('ParseObject', () => {
11071121 expect ( grandchild . id ) . toBe ( 'grandchild' ) ;
11081122 done ( ) ;
11091123 } ) ;
1124+ jest . runAllTicks ( ) ;
11101125
11111126 expect ( xhrs . length ) . toBe ( 1 ) ;
11121127 expect ( xhrs [ 0 ] . open . mock . calls [ 0 ] ) . toEqual (
@@ -1121,6 +1136,7 @@ describe('ParseObject', () => {
11211136 ) ;
11221137 xhrs [ 0 ] . responseText = JSON . stringify ( [ { success : { objectId : 'grandchild' } } ] ) ;
11231138 xhrs [ 0 ] . onreadystatechange ( ) ;
1139+ jest . runAllTicks ( ) ;
11241140
11251141 expect ( xhrs . length ) . toBe ( 2 ) ;
11261142 expect ( xhrs [ 1 ] . open . mock . calls [ 0 ] ) . toEqual (
@@ -1141,6 +1157,7 @@ describe('ParseObject', () => {
11411157 ) ;
11421158 xhrs [ 1 ] . responseText = JSON . stringify ( [ { success : { objectId : 'child' } } ] ) ;
11431159 xhrs [ 1 ] . onreadystatechange ( ) ;
1160+ jest . runAllTicks ( ) ;
11441161
11451162 expect ( xhrs . length ) . toBe ( 3 ) ;
11461163 expect ( xhrs [ 2 ] . open . mock . calls [ 0 ] ) . toEqual (
@@ -1161,6 +1178,7 @@ describe('ParseObject', () => {
11611178 ) ;
11621179 xhrs [ 2 ] . responseText = JSON . stringify ( [ { success : { objectId : 'parent' } } ] ) ;
11631180 xhrs [ 2 ] . onreadystatechange ( ) ;
1181+ jest . runAllTicks ( ) ;
11641182 } ) ) ;
11651183
11661184 it ( 'can update fields via a fetch() call' , asyncHelper ( ( done ) => {
@@ -1206,11 +1224,13 @@ describe('ParseObject', () => {
12061224 expect ( JSON . parse ( xhr . send . mock . calls [ 0 ] ) . _method ) . toBe ( 'DELETE' ) ;
12071225 done ( ) ;
12081226 } ) ;
1227+ jest . runAllTicks ( ) ;
12091228
12101229 xhr . status = 200 ;
12111230 xhr . responseText = JSON . stringify ( { } ) ;
12121231 xhr . readyState = 4 ;
12131232 xhr . onreadystatechange ( ) ;
1233+ jest . runAllTicks ( ) ;
12141234 } ) ) ;
12151235
12161236 it ( 'can save an array of objects' , asyncHelper ( ( done ) => {
@@ -1235,6 +1255,7 @@ describe('ParseObject', () => {
12351255 } ) ;
12361256 done ( ) ;
12371257 } ) ;
1258+ jest . runAllTicks ( ) ;
12381259
12391260 xhr . status = 200 ;
12401261 xhr . responseText = JSON . stringify ( [
@@ -1246,6 +1267,7 @@ describe('ParseObject', () => {
12461267 ] ) ;
12471268 xhr . readyState = 4 ;
12481269 xhr . onreadystatechange ( ) ;
1270+ jest . runAllTicks ( ) ;
12491271 } ) ) ;
12501272
12511273 it ( 'returns the first error when saving an array of objects' , asyncHelper ( ( done ) => {
@@ -1274,6 +1296,7 @@ describe('ParseObject', () => {
12741296 expect ( error . message ) . toBe ( 'first error' ) ;
12751297 done ( ) ;
12761298 } ) ;
1299+ jest . runAllTicks ( ) ;
12771300
12781301 xhrs [ 0 ] . responseText = JSON . stringify ( [
12791302 { success : { objectId : 'pid0' } } ,
@@ -1298,15 +1321,8 @@ describe('ParseObject', () => {
12981321 { success : { objectId : 'pid19' } } ,
12991322 ] ) ;
13001323 xhrs [ 0 ] . onreadystatechange ( ) ;
1324+ jest . runAllTicks ( ) ;
13011325 } ) ) ;
1302-
1303- it ( 'can fetch an array of objects' , ( ) => {
1304-
1305- } ) ;
1306-
1307- it ( 'can destroy an array of objects' , ( ) => {
1308-
1309- } ) ;
13101326} ) ;
13111327
13121328describe ( 'ObjectController' , ( ) => {
@@ -1328,11 +1344,13 @@ describe('ObjectController', () => {
13281344 expect ( body . _method ) . toBe ( 'GET' ) ;
13291345 done ( ) ;
13301346 } ) ;
1347+ jest . runAllTicks ( ) ;
13311348
13321349 xhr . status = 200 ;
13331350 xhr . responseText = JSON . stringify ( { } ) ;
13341351 xhr . readyState = 4 ;
13351352 xhr . onreadystatechange ( ) ;
1353+ jest . runAllTicks ( ) ;
13361354 } ) ) ;
13371355
13381356 it ( 'can fetch an array of objects' , asyncHelper ( ( done ) => {
@@ -1371,7 +1389,9 @@ describe('ObjectController', () => {
13711389 var destroy = objectController . destroy ( p2 , {
13721390 useMasterKey : true
13731391 } ) ;
1392+ jest . runAllTicks ( ) ;
13741393 xhr . onreadystatechange ( ) ;
1394+ jest . runAllTicks ( ) ;
13751395 return destroy ;
13761396 } ) . then ( ( ) => {
13771397 expect ( xhr . open . mock . calls [ 1 ] ) . toEqual (
@@ -1382,11 +1402,13 @@ describe('ObjectController', () => {
13821402 expect ( body . _MasterKey ) . toBe ( 'C' ) ;
13831403 done ( ) ;
13841404 } ) ;
1405+ jest . runAllTicks ( ) ;
13851406
13861407 xhr . status = 200 ;
13871408 xhr . responseText = JSON . stringify ( { } ) ;
13881409 xhr . readyState = 4 ;
13891410 xhr . onreadystatechange ( ) ;
1411+ jest . runAllTicks ( ) ;
13901412 } ) ) ;
13911413
13921414 it ( 'can destroy an array of objects' , asyncHelper ( ( done ) => {
@@ -1443,17 +1465,22 @@ describe('ObjectController', () => {
14431465 objects [ i ] . id = 'pid' + i ;
14441466 }
14451467 var destroy = objectController . destroy ( objects , { } ) ;
1468+ jest . runAllTicks ( ) ;
14461469 xhrs [ 1 ] . onreadystatechange ( ) ;
1470+ jest . runAllTicks ( ) ;
14471471 expect ( xhrs [ 1 ] . open . mock . calls . length ) . toBe ( 1 ) ;
14481472 xhrs [ 2 ] . onreadystatechange ( ) ;
1473+ jest . runAllTicks ( ) ;
14491474 return destroy ;
14501475 } ) . then ( ( ) => {
14511476 expect ( JSON . parse ( xhrs [ 1 ] . send . mock . calls [ 0 ] ) . requests . length ) . toBe ( 20 ) ;
14521477 expect ( JSON . parse ( xhrs [ 2 ] . send . mock . calls [ 0 ] ) . requests . length ) . toBe ( 2 ) ;
14531478 done ( ) ;
14541479 } ) ;
1480+ jest . runAllTicks ( ) ;
14551481
14561482 xhrs [ 0 ] . onreadystatechange ( ) ;
1483+ jest . runAllTicks ( ) ;
14571484 } ) ) ;
14581485
14591486 it ( 'can save an object' , asyncHelper ( ( done ) => {
@@ -1475,11 +1502,13 @@ describe('ObjectController', () => {
14751502 expect ( body . key ) . toBe ( 'value' ) ;
14761503 done ( ) ;
14771504 } ) ;
1505+ jest . runAllTicks ( ) ;
14781506
14791507 xhr . status = 200 ;
14801508 xhr . responseText = JSON . stringify ( { } ) ;
14811509 xhr . readyState = 4 ;
14821510 xhr . onreadystatechange ( ) ;
1511+ jest . runAllTicks ( ) ;
14831512 } ) ) ;
14841513
14851514 it ( 'can save an array of files' , asyncHelper ( ( done ) => {
@@ -1513,6 +1542,7 @@ describe('ObjectController', () => {
15131542 ) ;
15141543 done ( ) ;
15151544 } ) ;
1545+ jest . runAllTicks ( ) ;
15161546
15171547 var names = [ 'parse.txt' , 'parse2.txt' , 'parse3.txt' ] ;
15181548 for ( var i = 0 ; i < 3 ; i ++ ) {
@@ -1521,6 +1551,7 @@ describe('ObjectController', () => {
15211551 url : 'http://files.parsetfss.com/a/' + names [ i ]
15221552 } ) ;
15231553 xhrs [ i ] . onreadystatechange ( ) ;
1554+ jest . runAllTicks ( ) ;
15241555 }
15251556 } ) ) ;
15261557
@@ -1557,6 +1588,7 @@ describe('ObjectController', () => {
15571588 } ) ;
15581589 }
15591590 var save = objectController . save ( objects , { } ) ;
1591+ jest . runAllTicks ( ) ;
15601592 xhrs [ 1 ] . responseText = JSON . stringify ( response . slice ( 0 , 20 ) ) ;
15611593 xhrs [ 2 ] . responseText = JSON . stringify ( response . slice ( 20 ) ) ;
15621594
@@ -1568,12 +1600,14 @@ describe('ObjectController', () => {
15681600 objects [ 20 ] . set ( 'index' , 0 ) ;
15691601
15701602 xhrs [ 1 ] . onreadystatechange ( ) ;
1603+ jest . runAllTicks ( ) ;
15711604 expect ( objects [ 0 ] . dirty ( ) ) . toBe ( false ) ;
15721605 expect ( objects [ 0 ] . id ) . toBe ( 'pid0' ) ;
15731606 expect ( objects [ 20 ] . dirty ( ) ) . toBe ( true ) ;
15741607 expect ( objects [ 20 ] . id ) . toBe ( undefined ) ;
15751608
15761609 xhrs [ 2 ] . onreadystatechange ( ) ;
1610+ jest . runAllTicks ( ) ;
15771611 expect ( objects [ 20 ] . dirty ( ) ) . toBe ( false ) ;
15781612 expect ( objects [ 20 ] . get ( 'index' ) ) . toBe ( 0 ) ;
15791613 expect ( objects [ 20 ] . id ) . toBe ( 'pid20' ) ;
@@ -1582,6 +1616,7 @@ describe('ObjectController', () => {
15821616 expect ( results . length ) . toBe ( 22 ) ;
15831617 done ( ) ;
15841618 } ) ;
1619+ jest . runAllTicks ( ) ;
15851620
15861621 xhrs [ 0 ] . responseText = JSON . stringify ( [
15871622 { success : { objectId : 'pid0' , index : 0 } } ,
@@ -1591,6 +1626,7 @@ describe('ObjectController', () => {
15911626 { success : { objectId : 'pid4' , index : 4 } } ,
15921627 ] ) ;
15931628 xhrs [ 0 ] . onreadystatechange ( ) ;
1629+ jest . runAllTicks ( ) ;
15941630 } ) ) ;
15951631
15961632 it ( 'does not fail when checking if arrays of pointers are dirty' , ( ) => {
@@ -1619,6 +1655,7 @@ describe('ObjectController', () => {
16191655 items . push ( new ParseObject ( 'Item' ) ) ;
16201656 brand . set ( 'items' , items ) ;
16211657 expect ( function ( ) { brand . save ( ) ; } ) . not . toThrow ( ) ;
1658+ jest . runAllTicks ( ) ;
16221659
16231660 xhrs [ 0 ] . onreadystatechange ( ) ;
16241661 } ) ;
0 commit comments