Ignores createdAt when update (#3111)

This commit is contained in:
Yuki Takeichi
2016-11-25 23:20:06 +09:00
committed by Florent Vilmart
parent 8f1c1f419b
commit 85567310d4
2 changed files with 34 additions and 0 deletions

View File

@@ -420,3 +420,34 @@ describe('rest create', () => {
})
});
});
describe('rest update', () => {
it('ignores createdAt', done => {
const nobody = auth.nobody(config);
const className = 'Foo';
const newCreatedAt = new Date('1970-01-01T00:00:00.000Z');
rest.create(config, nobody, className, {}).then(res => {
const objectId = res.response.objectId;
const restObject = {
createdAt: {__type: "Date", iso: newCreatedAt}, // should be ignored
};
return rest.update(config, nobody, className, objectId, restObject).then(() => {
const restWhere = {
objectId: objectId,
};
return rest.find(config, nobody, className, restWhere, {});
});
}).then(res2 => {
const updatedObject = res2.results[0];
expect(new Date(updatedObject.createdAt)).not.toEqual(newCreatedAt);
done();
}).then(done).catch(err => {
fail(err);
done();
});
});
});

View File

@@ -842,6 +842,9 @@ RestWrite.prototype.runDatabaseOperation = function() {
if (this.className === '_User' && this.data._hashed_password && this.config.passwordPolicy && this.config.passwordPolicy.maxPasswordAge) {
this.data._password_changed_at = Parse._encode(new Date());
}
// Ignore createdAt when update
delete this.data.createdAt;
// Run an update
return this.config.database.update(this.className, this.query, this.data, this.runOptions)
.then(response => {