commit 18877a97483794db1ed7c675236653860c4d3610 parent e7ef1b4b1f712ec5ff46927de64902862374cb81 Author: Dan Stillman <dstillman@zotero.org> Date: Mon, 27 Feb 2017 03:11:09 -0500 Additional test for updateSynced() Addresses #1187 Diffstat:
| M | test/tests/dataObjectTest.js | | | 25 | +++++++++++++++++++++++++ |
1 file changed, 25 insertions(+), 0 deletions(-)
diff --git a/test/tests/dataObjectTest.js b/test/tests/dataObjectTest.js @@ -362,6 +362,31 @@ describe("Zotero.DataObject", function() { yield obj.eraseTx(); } }) + + it("should clear changed status", function* () { + var item = createUnsavedDataObject('item'); + item.synced = true; + yield item.saveTx(); + + // Only synced changed + item.synced = false; + assert.isTrue(item.hasChanged()); + assert.isTrue(item._changed.primaryData.synced); + yield item.updateSynced(true); + assert.isFalse(item.hasChanged()); + // Should clear primary data change object + assert.isUndefined(item._changed.primaryData); + + // Another primary field also changed + item.setField('dateModified', '2017-02-27 12:34:56'); + item.synced = false; + assert.isTrue(item.hasChanged()); + assert.isTrue(item._changed.primaryData.synced); + yield item.updateSynced(true); + assert.isTrue(item.hasChanged()); + // Should clear only 'synced' change status + assert.isUndefined(item._changed.primaryData.synced); + }); }) describe("Relations", function () {