Skip to content

Commit b7a70d5

Browse files
committed
Added a test case for parse-community#7384
1 parent 12eb6c8 commit b7a70d5

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

spec/ParseAPI.spec.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,32 @@ describe('miscellaneous', function () {
713713
);
714714
});
715715

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+
716742
it('test afterSave get original object on update', function (done) {
717743
let triggerTime = 0;
718744
// Register a mock beforeSave hook

0 commit comments

Comments
 (0)