File tree 1 file changed +26
-0
lines changed
1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -713,6 +713,32 @@ describe('miscellaneous', function () {
713
713
) ;
714
714
} ) ;
715
715
716
+ it ( 'test afterSave with deeply nested keys (#7384)' , async ( ) => {
717
+ let triggerTime = 0 ;
718
+ Parse . Cloud . afterSave ( 'GameScore' , function ( req ) {
719
+ const object = req . object ;
720
+ expect ( object instanceof Parse . Object ) . toBeTruthy ( ) ;
721
+ if ( triggerTime == 0 ) {
722
+ // Create
723
+ expect ( object . get ( 'a' ) ) . toEqual ( { b : { c : 0 } } ) ;
724
+ } else if ( triggerTime == 1 ) {
725
+ // Update
726
+ expect ( object . get ( 'a' ) ) . toEqual ( { b : { c : 1 } } ) ;
727
+ } else {
728
+ throw new Error ( ) ;
729
+ }
730
+ triggerTime ++ ;
731
+ } ) ;
732
+
733
+ const obj = new Parse . Object ( 'GameScore' ) ;
734
+ obj . set ( 'a' , { b : { c : 0 } } ) ;
735
+ await obj . save ( ) ;
736
+ obj . set ( 'a.b.c' , 1 ) ;
737
+ await obj . save ( ) ;
738
+ // Make sure the checking has been triggered
739
+ expect ( triggerTime ) . toBe ( 2 ) ;
740
+ } ) ;
741
+
716
742
it ( 'test afterSave get original object on update' , function ( done ) {
717
743
let triggerTime = 0 ;
718
744
// Register a mock beforeSave hook
You can’t perform that action at this time.
0 commit comments