Skip to content

Commit 801dcd6

Browse files
authored
Allow nested increment on undefined fields (#1303)
* remove ignore code * remove test
1 parent 24a6d60 commit 801dcd6

File tree

3 files changed

+0
-29
lines changed

3 files changed

+0
-29
lines changed

integration/test/ParseObjectTest.js

-10
Original file line numberDiff line numberDiff line change
@@ -414,16 +414,6 @@ describe('Parse Object', () => {
414414
assert.equal(result.get('objectField').unknown, 20);
415415
});
416416

417-
it('ignore set nested fields on new object', async () => {
418-
const obj = new TestObject();
419-
obj.set('objectField.number', 5);
420-
assert.deepEqual(obj._getPendingOps()[0], {});
421-
assert.equal(obj.get('objectField'), undefined);
422-
423-
await obj.save();
424-
assert.equal(obj.get('objectField'), undefined);
425-
});
426-
427417
it('can set nested fields two levels', async () => {
428418
const obj = new TestObject({ objectField: { foo: { bar: 5 } } });
429419
assert.equal(obj.get('objectField').foo.bar, 5);

src/ParseObject.js

-9
Original file line numberDiff line numberDiff line change
@@ -741,15 +741,6 @@ class ParseObject {
741741

742742
const currentAttributes = this.attributes;
743743

744-
// Only set nested fields if exists
745-
const serverData = this._getServerData();
746-
if (typeof key === 'string' && key.includes('.')) {
747-
const field = key.split('.')[0];
748-
if (!serverData[field]) {
749-
return this;
750-
}
751-
}
752-
753744
// Calculate new values
754745
const newValues = {};
755746
for (const attr in newOps) {

src/__tests__/ParseObject-test.js

-10
Original file line numberDiff line numberDiff line change
@@ -699,16 +699,6 @@ describe('ParseObject', () => {
699699
expect(o.get('objectField').letter).toEqual('a');
700700
});
701701

702-
it('ignore set nested field on new object', () => {
703-
const o = new ParseObject('Person');
704-
o.set('objectField.number', 20);
705-
706-
expect(o.attributes).toEqual({});
707-
expect(o.op('objectField.number') instanceof SetOp).toBe(false);
708-
expect(o.dirtyKeys()).toEqual([]);
709-
expect(o._getSaveJSON()).toEqual({});
710-
});
711-
712702
it('can add elements to an array field', () => {
713703
const o = new ParseObject('Schedule');
714704
o.add('available', 'Monday');

0 commit comments

Comments
 (0)