zotero/test/tests/creatorsTest.js

34 lines
998 B
JavaScript

"use strict";
describe("Zotero.Creators", function() {
describe("#getIDFromData()", function () {
it("should create creator and cache data", function* () {
var data1 = {
firstName: "First",
lastName: "Last"
};
var creatorID;
yield Zotero.DB.executeTransaction(async function () {
creatorID = await Zotero.Creators.getIDFromData(data1, true);
});
assert.typeOf(creatorID, 'number');
var data2 = Zotero.Creators.get(creatorID);
assert.isObject(data2);
assert.propertyVal(data2, "firstName", data1.firstName);
assert.propertyVal(data2, "lastName", data1.lastName);
});
});
describe("#cleanData()", function () {
it("should allow firstName to be null for fieldMode 1", function* () {
var data = Zotero.Creators.cleanData({
firstName: null,
lastName: "Test",
fieldMode: 1
});
assert.propertyVal(data, 'fieldMode', 1);
assert.propertyVal(data, 'firstName', '');
assert.propertyVal(data, 'lastName', 'Test');
});
});
});