From 0cefa038275d2d47eac277c24600d612a3d60b9f Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Tue, 5 May 2015 03:17:12 -0400 Subject: [PATCH] Add initial Zotero.DataObject test --- test/tests/dataObjectTest.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 test/tests/dataObjectTest.js diff --git a/test/tests/dataObjectTest.js b/test/tests/dataObjectTest.js new file mode 100644 index 000000000..0e7805d40 --- /dev/null +++ b/test/tests/dataObjectTest.js @@ -0,0 +1,35 @@ +"use strict"; + +describe("Zotero.DataObject", function() { + var types = ['collection', 'item', 'search']; + + describe("#save()", function () { + it("should add new identifiers to cache", function* () { + // Collection + var objectsClass = Zotero.DataObjectUtilities.getObjectsClassForObjectType('collection'); + var obj = new Zotero.Collection; + obj.name = "Test"; + var id = yield obj.save(); + var { libraryID, key } = objectsClass.getLibraryAndKeyFromID(id); + assert.typeOf(key, 'string'); + assert.equal(objectsClass.getIDFromLibraryAndKey(libraryID, key), id); + + // Search + var objectsClass = Zotero.DataObjectUtilities.getObjectsClassForObjectType('search'); + var obj = new Zotero.Search; + obj.name = "Test"; + var id = yield obj.save(); + var { libraryID, key } = objectsClass.getLibraryAndKeyFromID(id); + assert.typeOf(key, 'string'); + assert.equal(objectsClass.getIDFromLibraryAndKey(libraryID, key), id); + + // Item + var objectsClass = Zotero.DataObjectUtilities.getObjectsClassForObjectType('item'); + var obj = new Zotero.Item('book'); + var id = yield obj.save(); + var { libraryID, key } = objectsClass.getLibraryAndKeyFromID(id); + assert.typeOf(key, 'string'); + assert.equal(objectsClass.getIDFromLibraryAndKey(libraryID, key), id); + }) + }) +})