Set 'synced' to false automatically on save, unless value is changed
And add 'skipSyncedUpdate' option to leave untouched Also move some save logic into Zotero.DataObject.prototype._saveData(), and call that first.
This commit is contained in:
parent
fa039971e6
commit
3f4eebe51c
5 changed files with 141 additions and 100 deletions
|
@ -29,6 +29,62 @@ describe("Zotero.DataObject", function() {
|
|||
})
|
||||
})
|
||||
|
||||
describe("#synced", function () {
|
||||
it("should be set to false after creating item", function* () {
|
||||
var item = new Zotero.Item("book");
|
||||
var id = yield item.saveTx();
|
||||
item = yield Zotero.Items.getAsync(id);
|
||||
assert.isFalse(item.synced);
|
||||
yield Zotero.Items.erase(id);
|
||||
});
|
||||
|
||||
it("should be set to true when changed", function* () {
|
||||
var item = new Zotero.Item("book");
|
||||
var id = yield item.saveTx();
|
||||
item = yield Zotero.Items.getAsync(id);
|
||||
|
||||
item.synced = 1;
|
||||
yield item.save();
|
||||
assert.ok(item.synced);
|
||||
|
||||
yield Zotero.Items.erase(id);
|
||||
});
|
||||
|
||||
it("should be set to false after modifying item", function* () {
|
||||
var item = new Zotero.Item("book");
|
||||
var id = yield item.saveTx();
|
||||
item = yield Zotero.Items.getAsync(id);
|
||||
|
||||
item.synced = 1;
|
||||
yield item.save();
|
||||
|
||||
yield item.loadItemData();
|
||||
item.setField('title', 'test');
|
||||
yield item.save();
|
||||
assert.isFalse(item.synced);
|
||||
|
||||
yield Zotero.Items.erase(id);
|
||||
});
|
||||
|
||||
it("should be unchanged if skipSyncedUpdate passed", function* () {
|
||||
var item = new Zotero.Item("book");
|
||||
var id = yield item.saveTx();
|
||||
item = yield Zotero.Items.getAsync(id);
|
||||
|
||||
item.synced = 1;
|
||||
yield item.save();
|
||||
|
||||
yield item.loadItemData();
|
||||
item.setField('title', 'test');
|
||||
yield item.save({
|
||||
skipSyncedUpdate: true
|
||||
});
|
||||
assert.ok(item.synced);
|
||||
|
||||
yield Zotero.Items.erase(id);
|
||||
});
|
||||
})
|
||||
|
||||
describe("#save()", function () {
|
||||
it("should add new identifiers to cache", function* () {
|
||||
// Collection
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue