Skip to content

Commit fcd6edd

Browse files
committed
Added a test case demonstrating issue parse-community#1450
1 parent 04445c5 commit fcd6edd

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/__tests__/ParseObject-test.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -662,6 +662,33 @@ describe('ParseObject', () => {
662662
});
663663
});
664664

665+
it('can set multiple nested fields (regression test for #1450)', () => {
666+
const o = new ParseObject('Person');
667+
o._finishFetch({
668+
objectId: 'setNested2_1450',
669+
objectField: {
670+
number: 5,
671+
letter: 'a',
672+
},
673+
});
674+
675+
expect(o.attributes).toEqual({
676+
objectField: { number: 5, letter: 'a' },
677+
});
678+
o.set('objectField.number', 20);
679+
o.set('objectField.letter', 'b');
680+
681+
expect(o.attributes).toEqual({
682+
objectField: { number: 20, letter: 'b' },
683+
});
684+
expect(o.op('objectField.number') instanceof SetOp).toBe(true);
685+
expect(o.dirtyKeys()).toEqual(['objectField.number', 'objectField.letter', 'objectField']);
686+
expect(o._getSaveJSON()).toEqual({
687+
'objectField.number': 20,
688+
'objectField.letter': 'b',
689+
});
690+
});
691+
665692
it('can increment a nested field', () => {
666693
const o = new ParseObject('Person');
667694
o._finishFetch({

0 commit comments

Comments
 (0)