Skip to content

Commit 494cb81

Browse files
committed
integration tests to test changes without save between does the same as if there were a save.
1 parent 8e71613 commit 494cb81

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

integration/test/ParseObjectTest.js

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,44 @@ describe('Parse Object', () => {
463463
assert.equal(result.get('objectField').string, 'hello');
464464
});
465465

466+
it('can set and unset without save', async () => {
467+
const obj = new TestObject({
468+
objectField: {
469+
number: 5,
470+
string: 'hello',
471+
},
472+
});
473+
obj.unset('objectField.number');
474+
assert.equal(obj.get('objectField').number, undefined);
475+
assert.equal(obj.get('objectField').string, 'hello');
476+
await obj.save();
477+
478+
const query = new Parse.Query(TestObject);
479+
const result = await query.get(obj.id);
480+
assert.equal(result.get('objectField').number, undefined);
481+
assert.equal(result.get('objectField').string, 'hello');
482+
});
483+
484+
it('can set and set sub-property without save', async () => {
485+
const obj = new TestObject({
486+
objectField: {
487+
number: 5,
488+
string: 'hello',
489+
},
490+
});
491+
obj.set('objectField.numberb', 4);
492+
assert.equal(obj.get('objectField').number, 5);
493+
assert.equal(obj.get('objectField').numberb, 4);
494+
assert.equal(obj.get('objectField').string, 'hello');
495+
await obj.save();
496+
497+
const query = new Parse.Query(TestObject);
498+
const result = await query.get(obj.id);
499+
assert.equal(result.get('objectField').number, 5);
500+
assert.equal(result.get('objectField').numberb, 4);
501+
assert.equal(result.get('objectField').string, 'hello');
502+
});
503+
466504
it('can unset nested fields two levels', async () => {
467505
const obj = new TestObject({
468506
objectField: {
@@ -485,6 +523,27 @@ describe('Parse Object', () => {
485523
assert.equal(result.get('objectField').string, 'hello');
486524
});
487525

526+
it('can unset nested fields two levels - without save between', async () => {
527+
const obj = new TestObject({
528+
objectField: {
529+
foo: {
530+
bar: 5,
531+
},
532+
string: 'hello',
533+
},
534+
});
535+
536+
obj.unset('objectField.foo.bar');
537+
assert.equal(obj.get('objectField').foo.bar, undefined);
538+
assert.equal(obj.get('objectField').string, 'hello');
539+
await obj.save();
540+
541+
const query = new Parse.Query(TestObject);
542+
const result = await query.get(obj.id);
543+
assert.equal(result.get('objectField').foo.bar, undefined);
544+
assert.equal(result.get('objectField').string, 'hello');
545+
});
546+
488547
it('can unset non existing fields', async () => {
489548
const obj = new TestObject();
490549
obj.set('objectField', { number: 5 });

0 commit comments

Comments
 (0)