commit 0cefa038275d2d47eac277c24600d612a3d60b9f
parent 18714a4fcb387be510911b9b417323a04e47cf86
Author: Dan Stillman <dstillman@zotero.org>
Date: Tue, 5 May 2015 03:17:12 -0400
Add initial Zotero.DataObject test
Diffstat:
1 file changed, 35 insertions(+), 0 deletions(-)
diff --git a/test/tests/dataObjectTest.js 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);
+ })
+ })
+})