File tree 1 file changed +42
-0
lines changed 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change @@ -533,6 +533,48 @@ describe('miscellaneous', function() {
533
533
done ( ) ;
534
534
} ) ;
535
535
} ) ;
536
+
537
+ it ( 'pointer mutation properly saves object' , done => {
538
+ let className = 'GameScore' ;
539
+
540
+ Parse . Cloud . beforeSave ( className , ( req , res ) => {
541
+ let object = req . object ;
542
+ expect ( object instanceof Parse . Object ) . toBeTruthy ( ) ;
543
+
544
+ let child = object . get ( 'child' ) ;
545
+ expect ( child instanceof Parse . Object ) . toBeTruthy ( ) ;
546
+ child . set ( 'a' , 'b' ) ;
547
+ child . save ( ) . then ( ( ) => {
548
+ res . success ( ) ;
549
+ } ) ;
550
+ } ) ;
551
+
552
+ let obj = new Parse . Object ( className ) ;
553
+ obj . set ( 'foo' , 'bar' ) ;
554
+
555
+ let child = new Parse . Object ( 'Child' ) ;
556
+ child . save ( ) . then ( ( ) => {
557
+ obj . set ( 'child' , child ) ;
558
+ return obj . save ( ) ;
559
+ } ) . then ( ( ) => {
560
+ let query = new Parse . Query ( className ) ;
561
+ query . include ( 'child' ) ;
562
+ return query . get ( obj . id ) . then ( objAgain => {
563
+ expect ( objAgain . get ( 'foo' ) ) . toEqual ( 'bar' ) ;
564
+
565
+ let childAgain = objAgain . get ( 'child' ) ;
566
+ expect ( childAgain instanceof Parse . Object ) . toBeTruthy ( ) ;
567
+ expect ( childAgain . get ( 'a' ) ) . toEqual ( 'b' ) ;
568
+
569
+ return Promise . resolve ( ) ;
570
+ } ) ;
571
+ } ) . then ( ( ) => {
572
+ done ( ) ;
573
+ } , error => {
574
+ fail ( error ) ;
575
+ done ( ) ;
576
+ } ) ;
577
+ } ) ;
536
578
} ) ;
537
579
538
580
it ( 'test afterSave get full object on create and update' , function ( done ) {
You can’t perform that action at this time.
0 commit comments