Skip to content

Commit d2bbee4

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

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

integration/test/ParseObjectTest.js

+59
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,44 @@ describe('Parse Object', () => {
475475
assert.equal(result.get('objectField').string, 'hello');
476476
});
477477

478+
it('can set and unset without save', async () => {
479+
const obj = new TestObject({
480+
objectField: {
481+
number: 5,
482+
string: 'hello',
483+
},
484+
});
485+
obj.unset('objectField.number');
486+
assert.equal(obj.get('objectField').number, undefined);
487+
assert.equal(obj.get('objectField').string, 'hello');
488+
await obj.save();
489+
490+
const query = new Parse.Query(TestObject);
491+
const result = await query.get(obj.id);
492+
assert.equal(result.get('objectField').number, undefined);
493+
assert.equal(result.get('objectField').string, 'hello');
494+
});
495+
496+
it('can set and set sub-property without save', async () => {
497+
const obj = new TestObject({
498+
objectField: {
499+
number: 5,
500+
string: 'hello',
501+
},
502+
});
503+
obj.set('objectField.numberb', 4);
504+
assert.equal(obj.get('objectField').number, 5);
505+
assert.equal(obj.get('objectField').numberb, 4);
506+
assert.equal(obj.get('objectField').string, 'hello');
507+
await obj.save();
508+
509+
const query = new Parse.Query(TestObject);
510+
const result = await query.get(obj.id);
511+
assert.equal(result.get('objectField').number, 5);
512+
assert.equal(result.get('objectField').numberb, 4);
513+
assert.equal(result.get('objectField').string, 'hello');
514+
});
515+
478516
it('can unset nested fields two levels', async () => {
479517
const obj = new TestObject({
480518
objectField: {
@@ -497,6 +535,27 @@ describe('Parse Object', () => {
497535
assert.equal(result.get('objectField').string, 'hello');
498536
});
499537

538+
it('can unset nested fields two levels - without save between', async () => {
539+
const obj = new TestObject({
540+
objectField: {
541+
foo: {
542+
bar: 5,
543+
},
544+
string: 'hello',
545+
},
546+
});
547+
548+
obj.unset('objectField.foo.bar');
549+
assert.equal(obj.get('objectField').foo.bar, undefined);
550+
assert.equal(obj.get('objectField').string, 'hello');
551+
await obj.save();
552+
553+
const query = new Parse.Query(TestObject);
554+
const result = await query.get(obj.id);
555+
assert.equal(result.get('objectField').foo.bar, undefined);
556+
assert.equal(result.get('objectField').string, 'hello');
557+
});
558+
500559
it('can unset non existing fields', async () => {
501560
const obj = new TestObject();
502561
obj.set('objectField', { number: 5 });

0 commit comments

Comments
 (0)