Skip to content

Commit 4adc58c

Browse files
committed
Added a test case demonstrating issue #1450
1 parent 8f30edf commit 4adc58c

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
@@ -669,6 +669,33 @@ describe('ParseObject', () => {
669669
});
670670
});
671671

672+
it('can set multiple nested fields (regression test for #1450)', () => {
673+
const o = new ParseObject('Person');
674+
o._finishFetch({
675+
objectId: 'setNested2_1450',
676+
objectField: {
677+
number: 5,
678+
letter: 'a',
679+
},
680+
});
681+
682+
expect(o.attributes).toEqual({
683+
objectField: { number: 5, letter: 'a' },
684+
});
685+
o.set('objectField.number', 20);
686+
o.set('objectField.letter', 'b');
687+
688+
expect(o.attributes).toEqual({
689+
objectField: { number: 20, letter: 'b' },
690+
});
691+
expect(o.op('objectField.number') instanceof SetOp).toBe(true);
692+
expect(o.dirtyKeys()).toEqual(['objectField.number', 'objectField.letter', 'objectField']);
693+
expect(o._getSaveJSON()).toEqual({
694+
'objectField.number': 20,
695+
'objectField.letter': 'b',
696+
});
697+
});
698+
672699
it('can increment a nested field', () => {
673700
const o = new ParseObject('Person');
674701
o._finishFetch({

0 commit comments

Comments
 (0)