@@ -467,4 +467,36 @@ describe('Cloud Code', () => {
467
467
done ( ) ;
468
468
} ) ;
469
469
} ) ;
470
+
471
+ it ( 'trivial beforeSave should not affect fetched pointers' , function ( done ) {
472
+ Parse . Cloud . beforeSave ( 'BeforeSaveUnchanged' , function ( req , res ) {
473
+ res . success ( ) ;
474
+ } ) ;
475
+
476
+ var TestObject = Parse . Object . extend ( "TestObject" ) ;
477
+ var NoBeforeSaveObject = Parse . Object . extend ( "NoBeforeSave" ) ;
478
+ var BeforeSaveObject = Parse . Object . extend ( "BeforeSaveUnchanged" ) ;
479
+
480
+ var aTestObject = new TestObject ( ) ;
481
+ aTestObject . set ( "foo" , "bar" ) ;
482
+ aTestObject . save ( )
483
+ . then ( function ( aTestObject ) {
484
+ var aNoBeforeSaveObj = new NoBeforeSaveObject ( ) ;
485
+ aNoBeforeSaveObj . set ( "aTestObject" , aTestObject ) ;
486
+ expect ( aNoBeforeSaveObj . get ( "aTestObject" ) . get ( "foo" ) ) . toEqual ( "bar" ) ;
487
+ return aNoBeforeSaveObj . save ( ) ;
488
+ } )
489
+ . then ( function ( aNoBeforeSaveObj ) {
490
+ expect ( aNoBeforeSaveObj . get ( "aTestObject" ) . get ( "foo" ) ) . toEqual ( "bar" ) ;
491
+
492
+ var aBeforeSaveObj = new BeforeSaveObject ( ) ;
493
+ aBeforeSaveObj . set ( "aTestObject" , aTestObject ) ;
494
+ expect ( aBeforeSaveObj . get ( "aTestObject" ) . get ( "foo" ) ) . toEqual ( "bar" ) ;
495
+ return aBeforeSaveObj . save ( ) ;
496
+ } )
497
+ . then ( function ( aBeforeSaveObj ) {
498
+ expect ( aBeforeSaveObj . get ( "aTestObject" ) . get ( "foo" ) ) . toEqual ( "bar" ) ;
499
+ done ( ) ;
500
+ } ) ;
501
+ } ) ;
470
502
} ) ;
0 commit comments