Ignores createdAt when update (#3111)
This commit is contained in:
committed by
Florent Vilmart
parent
8f1c1f419b
commit
85567310d4
@@ -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();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
@@ -842,6 +842,9 @@ RestWrite.prototype.runDatabaseOperation = function() {
|
|||||||
if (this.className === '_User' && this.data._hashed_password && this.config.passwordPolicy && this.config.passwordPolicy.maxPasswordAge) {
|
if (this.className === '_User' && this.data._hashed_password && this.config.passwordPolicy && this.config.passwordPolicy.maxPasswordAge) {
|
||||||
this.data._password_changed_at = Parse._encode(new Date());
|
this.data._password_changed_at = Parse._encode(new Date());
|
||||||
}
|
}
|
||||||
|
// Ignore createdAt when update
|
||||||
|
delete this.data.createdAt;
|
||||||
|
|
||||||
// Run an update
|
// Run an update
|
||||||
return this.config.database.update(this.className, this.query, this.data, this.runOptions)
|
return this.config.database.update(this.className, this.query, this.data, this.runOptions)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
|
|||||||
Reference in New Issue
Block a user