www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

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:
Mtest/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 () {