@@ -139,7 +139,7 @@ describe('miscellaneous', function() {
139
139
return new Parse . Query ( TestObject ) . find ( ) ;
140
140
} ) . then ( ( results ) => {
141
141
expect ( results . length ) . toEqual ( 100 ) ;
142
- done ( ) ;
142
+ done ( ) ;
143
143
} , ( error ) => {
144
144
fail ( error ) ;
145
145
done ( ) ;
@@ -281,7 +281,7 @@ describe('miscellaneous', function() {
281
281
// We should have been able to fetch the object again
282
282
fail ( error ) ;
283
283
} ) ;
284
- } )
284
+ } ) ;
285
285
286
286
it ( 'basic beforeDelete rejection via promise' , function ( done ) {
287
287
var obj = new Parse . Object ( 'BeforeDeleteFailWithPromise' ) ;
@@ -384,90 +384,154 @@ describe('miscellaneous', function() {
384
384
} ) ;
385
385
} ) ;
386
386
387
- it ( 'test beforeSave get full object on create and update' , function ( done ) {
388
- var triggerTime = 0 ;
389
- // Register a mock beforeSave hook
390
- Parse . Cloud . beforeSave ( 'GameScore' , function ( req , res ) {
391
- var object = req . object ;
392
- expect ( object instanceof Parse . Object ) . toBeTruthy ( ) ;
393
- expect ( object . get ( 'fooAgain' ) ) . toEqual ( 'barAgain' ) ;
394
- if ( triggerTime == 0 ) {
395
- // Create
396
- expect ( object . get ( 'foo' ) ) . toEqual ( 'bar' ) ;
397
- // No objectId/createdAt/updatedAt
398
- expect ( object . id ) . toBeUndefined ( ) ;
399
- expect ( object . createdAt ) . toBeUndefined ( ) ;
400
- expect ( object . updatedAt ) . toBeUndefined ( ) ;
401
- } else if ( triggerTime == 1 ) {
402
- // Update
403
- expect ( object . get ( 'foo' ) ) . toEqual ( 'baz' ) ;
404
- expect ( object . id ) . not . toBeUndefined ( ) ;
405
- expect ( object . createdAt ) . not . toBeUndefined ( ) ;
406
- expect ( object . updatedAt ) . not . toBeUndefined ( ) ;
407
- } else {
408
- res . error ( ) ;
409
- }
410
- triggerTime ++ ;
411
- res . success ( ) ;
387
+ describe ( 'beforeSave' , ( ) => {
388
+ beforeEach ( done => {
389
+ // Make sure the required mock for all tests is unset.
390
+ delete Parse . Cloud . Triggers . beforeSave . GameScore ;
391
+ done ( ) ;
412
392
} ) ;
413
393
414
- var obj = new Parse . Object ( 'GameScore' ) ;
415
- obj . set ( 'foo' , 'bar' ) ;
416
- obj . set ( 'fooAgain' , 'barAgain' ) ;
417
- obj . save ( ) . then ( function ( ) {
418
- // We only update foo
419
- obj . set ( 'foo' , 'baz' ) ;
420
- return obj . save ( ) ;
421
- } ) . then ( function ( ) {
422
- // Make sure the checking has been triggered
423
- expect ( triggerTime ) . toBe ( 2 ) ;
424
- // Clear mock beforeSave
394
+ afterEach ( done => {
395
+ // Make sure the required mock for all tests is unset.
425
396
delete Parse . Cloud . Triggers . beforeSave . GameScore ;
426
397
done ( ) ;
427
- } , function ( error ) {
428
- fail ( error ) ;
429
- done ( ) ;
430
398
} ) ;
431
- } ) ;
432
399
433
- it ( 'test beforeSave get dirtyKeys on update' , function ( done ) {
434
- var triggerTime = 0 ;
435
- // Register a mock beforeSave hook
436
- Parse . Cloud . beforeSave ( 'GameScore' , function ( req , res ) {
437
- var object = req . object ;
438
- expect ( object instanceof Parse . Object ) . toBeTruthy ( ) ;
439
- expect ( object . get ( 'fooAgain' ) ) . toEqual ( 'barAgain' ) ;
440
- if ( triggerTime == 0 ) {
441
- // Create
442
- expect ( object . get ( 'foo' ) ) . toEqual ( 'bar' ) ;
443
- } else if ( triggerTime == 1 ) {
444
- // Update
445
- expect ( object . dirtyKeys ( ) ) . toEqual ( [ 'foo' ] ) ;
446
- expect ( object . dirty ( 'foo' ) ) . toBeTruthy ( ) ;
447
- expect ( object . get ( 'foo' ) ) . toEqual ( 'baz' ) ;
448
- } else {
449
- res . error ( ) ;
450
- }
451
- triggerTime ++ ;
452
- res . success ( ) ;
400
+ it ( 'object is set on create and update' , done => {
401
+ let triggerTime = 0 ;
402
+ // Register a mock beforeSave hook
403
+ Parse . Cloud . beforeSave ( 'GameScore' , ( req , res ) => {
404
+ let object = req . object ;
405
+ expect ( object instanceof Parse . Object ) . toBeTruthy ( ) ;
406
+ expect ( object . get ( 'fooAgain' ) ) . toEqual ( 'barAgain' ) ;
407
+ if ( triggerTime == 0 ) {
408
+ // Create
409
+ expect ( object . get ( 'foo' ) ) . toEqual ( 'bar' ) ;
410
+ // No objectId/createdAt/updatedAt
411
+ expect ( object . id ) . toBeUndefined ( ) ;
412
+ expect ( object . createdAt ) . toBeUndefined ( ) ;
413
+ expect ( object . updatedAt ) . toBeUndefined ( ) ;
414
+ } else if ( triggerTime == 1 ) {
415
+ // Update
416
+ expect ( object . get ( 'foo' ) ) . toEqual ( 'baz' ) ;
417
+ expect ( object . id ) . not . toBeUndefined ( ) ;
418
+ expect ( object . createdAt ) . not . toBeUndefined ( ) ;
419
+ expect ( object . updatedAt ) . not . toBeUndefined ( ) ;
420
+ } else {
421
+ res . error ( ) ;
422
+ }
423
+ triggerTime ++ ;
424
+ res . success ( ) ;
425
+ } ) ;
426
+
427
+ let obj = new Parse . Object ( 'GameScore' ) ;
428
+ obj . set ( 'foo' , 'bar' ) ;
429
+ obj . set ( 'fooAgain' , 'barAgain' ) ;
430
+ obj . save ( ) . then ( ( ) => {
431
+ // We only update foo
432
+ obj . set ( 'foo' , 'baz' ) ;
433
+ return obj . save ( ) ;
434
+ } ) . then ( ( ) => {
435
+ // Make sure the checking has been triggered
436
+ expect ( triggerTime ) . toBe ( 2 ) ;
437
+ done ( ) ;
438
+ } , error => {
439
+ fail ( error ) ;
440
+ done ( ) ;
441
+ } ) ;
453
442
} ) ;
454
443
455
- var obj = new Parse . Object ( 'GameScore' ) ;
456
- obj . set ( 'foo' , 'bar' ) ;
457
- obj . set ( 'fooAgain' , 'barAgain' ) ;
458
- obj . save ( ) . then ( function ( ) {
459
- // We only update foo
460
- obj . set ( 'foo' , 'baz' ) ;
461
- return obj . save ( ) ;
462
- } ) . then ( function ( ) {
463
- // Make sure the checking has been triggered
464
- expect ( triggerTime ) . toBe ( 2 ) ;
465
- // Clear mock beforeSave
466
- delete Parse . Cloud . Triggers . beforeSave . GameScore ;
467
- done ( ) ;
468
- } , function ( error ) {
469
- fail ( error ) ;
470
- done ( ) ;
444
+ it ( 'dirtyKeys are set on update' , done => {
445
+ let triggerTime = 0 ;
446
+ // Register a mock beforeSave hook
447
+ Parse . Cloud . beforeSave ( 'GameScore' , ( req , res ) => {
448
+ var object = req . object ;
449
+ expect ( object instanceof Parse . Object ) . toBeTruthy ( ) ;
450
+ expect ( object . get ( 'fooAgain' ) ) . toEqual ( 'barAgain' ) ;
451
+ if ( triggerTime == 0 ) {
452
+ // Create
453
+ expect ( object . get ( 'foo' ) ) . toEqual ( 'bar' ) ;
454
+ } else if ( triggerTime == 1 ) {
455
+ // Update
456
+ expect ( object . dirtyKeys ( ) ) . toEqual ( [ 'foo' ] ) ;
457
+ expect ( object . dirty ( 'foo' ) ) . toBeTruthy ( ) ;
458
+ expect ( object . get ( 'foo' ) ) . toEqual ( 'baz' ) ;
459
+ } else {
460
+ res . error ( ) ;
461
+ }
462
+ triggerTime ++ ;
463
+ res . success ( ) ;
464
+ } ) ;
465
+
466
+ let obj = new Parse . Object ( 'GameScore' ) ;
467
+ obj . set ( 'foo' , 'bar' ) ;
468
+ obj . set ( 'fooAgain' , 'barAgain' ) ;
469
+ obj . save ( ) . then ( ( ) => {
470
+ // We only update foo
471
+ obj . set ( 'foo' , 'baz' ) ;
472
+ return obj . save ( ) ;
473
+ } ) . then ( ( ) => {
474
+ // Make sure the checking has been triggered
475
+ expect ( triggerTime ) . toBe ( 2 ) ;
476
+ done ( ) ;
477
+ } , function ( error ) {
478
+ fail ( error ) ;
479
+ done ( ) ;
480
+ } ) ;
481
+ } ) ;
482
+
483
+ it ( 'original object is set on update' , done => {
484
+ let triggerTime = 0 ;
485
+ // Register a mock beforeSave hook
486
+ Parse . Cloud . beforeSave ( 'GameScore' , ( req , res ) => {
487
+ let object = req . object ;
488
+ expect ( object instanceof Parse . Object ) . toBeTruthy ( ) ;
489
+ expect ( object . get ( 'fooAgain' ) ) . toEqual ( 'barAgain' ) ;
490
+ let originalObject = req . original ;
491
+ if ( triggerTime == 0 ) {
492
+ // No id/createdAt/updatedAt
493
+ expect ( object . id ) . toBeUndefined ( ) ;
494
+ expect ( object . createdAt ) . toBeUndefined ( ) ;
495
+ expect ( object . updatedAt ) . toBeUndefined ( ) ;
496
+ // Create
497
+ expect ( object . get ( 'foo' ) ) . toEqual ( 'bar' ) ;
498
+ // Check the originalObject is undefined
499
+ expect ( originalObject ) . toBeUndefined ( ) ;
500
+ } else if ( triggerTime == 1 ) {
501
+ // Update
502
+ expect ( object . id ) . not . toBeUndefined ( ) ;
503
+ expect ( object . createdAt ) . not . toBeUndefined ( ) ;
504
+ expect ( object . updatedAt ) . not . toBeUndefined ( ) ;
505
+ expect ( object . get ( 'foo' ) ) . toEqual ( 'baz' ) ;
506
+ // Check the originalObject
507
+ expect ( originalObject instanceof Parse . Object ) . toBeTruthy ( ) ;
508
+ expect ( originalObject . get ( 'fooAgain' ) ) . toEqual ( 'barAgain' ) ;
509
+ expect ( originalObject . id ) . not . toBeUndefined ( ) ;
510
+ expect ( originalObject . createdAt ) . not . toBeUndefined ( ) ;
511
+ expect ( originalObject . updatedAt ) . not . toBeUndefined ( ) ;
512
+ expect ( originalObject . get ( 'foo' ) ) . toEqual ( 'bar' ) ;
513
+ } else {
514
+ res . error ( ) ;
515
+ }
516
+ triggerTime ++ ;
517
+ res . success ( ) ;
518
+ } ) ;
519
+
520
+ let obj = new Parse . Object ( 'GameScore' ) ;
521
+ obj . set ( 'foo' , 'bar' ) ;
522
+ obj . set ( 'fooAgain' , 'barAgain' ) ;
523
+ obj . save ( ) . then ( ( ) => {
524
+ // We only update foo
525
+ obj . set ( 'foo' , 'baz' ) ;
526
+ return obj . save ( ) ;
527
+ } ) . then ( ( ) => {
528
+ // Make sure the checking has been triggered
529
+ expect ( triggerTime ) . toBe ( 2 ) ;
530
+ done ( ) ;
531
+ } , error => {
532
+ fail ( error ) ;
533
+ done ( ) ;
534
+ } ) ;
471
535
} ) ;
472
536
} ) ;
473
537
@@ -513,62 +577,6 @@ describe('miscellaneous', function() {
513
577
} ) ;
514
578
} ) ;
515
579
516
- it ( 'test beforeSave get original object on update' , function ( done ) {
517
- var triggerTime = 0 ;
518
- // Register a mock beforeSave hook
519
- Parse . Cloud . beforeSave ( 'GameScore' , function ( req , res ) {
520
- var object = req . object ;
521
- expect ( object instanceof Parse . Object ) . toBeTruthy ( ) ;
522
- expect ( object . get ( 'fooAgain' ) ) . toEqual ( 'barAgain' ) ;
523
- var originalObject = req . original ;
524
- if ( triggerTime == 0 ) {
525
- // No id/createdAt/updatedAt
526
- expect ( object . id ) . toBeUndefined ( ) ;
527
- expect ( object . createdAt ) . toBeUndefined ( ) ;
528
- expect ( object . updatedAt ) . toBeUndefined ( ) ;
529
- // Create
530
- expect ( object . get ( 'foo' ) ) . toEqual ( 'bar' ) ;
531
- // Check the originalObject is undefined
532
- expect ( originalObject ) . toBeUndefined ( ) ;
533
- } else if ( triggerTime == 1 ) {
534
- // Update
535
- expect ( object . id ) . not . toBeUndefined ( ) ;
536
- expect ( object . createdAt ) . not . toBeUndefined ( ) ;
537
- expect ( object . updatedAt ) . not . toBeUndefined ( ) ;
538
- expect ( object . get ( 'foo' ) ) . toEqual ( 'baz' ) ;
539
- // Check the originalObject
540
- expect ( originalObject instanceof Parse . Object ) . toBeTruthy ( ) ;
541
- expect ( originalObject . get ( 'fooAgain' ) ) . toEqual ( 'barAgain' ) ;
542
- expect ( originalObject . id ) . not . toBeUndefined ( ) ;
543
- expect ( originalObject . createdAt ) . not . toBeUndefined ( ) ;
544
- expect ( originalObject . updatedAt ) . not . toBeUndefined ( ) ;
545
- expect ( originalObject . get ( 'foo' ) ) . toEqual ( 'bar' ) ;
546
- } else {
547
- res . error ( ) ;
548
- }
549
- triggerTime ++ ;
550
- res . success ( ) ;
551
- } ) ;
552
-
553
- var obj = new Parse . Object ( 'GameScore' ) ;
554
- obj . set ( 'foo' , 'bar' ) ;
555
- obj . set ( 'fooAgain' , 'barAgain' ) ;
556
- obj . save ( ) . then ( function ( ) {
557
- // We only update foo
558
- obj . set ( 'foo' , 'baz' ) ;
559
- return obj . save ( ) ;
560
- } ) . then ( function ( ) {
561
- // Make sure the checking has been triggered
562
- expect ( triggerTime ) . toBe ( 2 ) ;
563
- // Clear mock beforeSave
564
- delete Parse . Cloud . Triggers . beforeSave . GameScore ;
565
- done ( ) ;
566
- } , function ( error ) {
567
- fail ( error ) ;
568
- done ( ) ;
569
- } ) ;
570
- } ) ;
571
-
572
580
it ( 'test afterSave get original object on update' , function ( done ) {
573
581
var triggerTime = 0 ;
574
582
// Register a mock beforeSave hook
0 commit comments