Skip to content

Commit 036c384

Browse files
Adding a test to demonstrate parse-community#1238 (save call on object with beforeSave trigger removes the data of pointer fields).
1 parent 19e7407 commit 036c384

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

spec/ParseObject.spec.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1886,4 +1886,32 @@ describe('Parse.Object testing', () => {
18861886
done();
18871887
});
18881888
});
1889+
1890+
it('save should keep fetched pointers', function(done) {
1891+
var TestObject = Parse.Object.extend("TestObject");
1892+
var NoBeforeSaveObject = Parse.Object.extend("NoBeforeSave");
1893+
var BeforeSaveObject = Parse.Object.extend("BeforeSaveUnchanged");
1894+
1895+
var aTestObject = new TestObject();
1896+
aTestObject.set("foo", "bar");
1897+
aTestObject.save()
1898+
.then(function(aTestObject) {
1899+
var aNoBeforeSaveObj = new NoBeforeSaveObject();
1900+
aNoBeforeSaveObj.set("aTestObject", aTestObject);
1901+
expect(aNoBeforeSaveObj.get("aTestObject").get("foo")).toEqual("bar");
1902+
return aNoBeforeSaveObj.save();
1903+
})
1904+
.then(function(aNoBeforeSaveObj) {
1905+
expect(aNoBeforeSaveObj.get("aTestObject").get("foo")).toEqual("bar");
1906+
1907+
var aBeforeSaveObj = new BeforeSaveObject();
1908+
aBeforeSaveObj.set("aTestObject", aTestObject);
1909+
expect(aBeforeSaveObj.get("aTestObject").get("foo")).toEqual("bar");
1910+
return aBeforeSaveObj.save();
1911+
})
1912+
.then(function(aBeforeSaveObj) {
1913+
expect(aBeforeSaveObj.get("aTestObject").get("foo")).toEqual("bar");
1914+
done();
1915+
});
1916+
});
18891917
});

0 commit comments

Comments
 (0)