UNPKG

zotero-ts-api

Version:
107 lines 4.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const vitest_1 = require("vitest"); const ZCreator_1 = require("./ZCreator"); (0, vitest_1.describe)('ZCreator', () => { (0, vitest_1.describe)('Constructor', () => { (0, vitest_1.it)('should create creator with full name', () => { const data = { creatorType: 'author', firstName: 'John', lastName: 'Doe' }; const creator = new ZCreator_1.ZCreator(data); (0, vitest_1.expect)(creator.creatorType).toBe('author'); (0, vitest_1.expect)(creator.firstName).toBe('John'); (0, vitest_1.expect)(creator.lastName).toBe('Doe'); (0, vitest_1.expect)(creator.name).toBeUndefined(); }); (0, vitest_1.it)('should create creator with single name', () => { const data = { creatorType: 'author', name: 'UNESCO' }; const creator = new ZCreator_1.ZCreator(data); (0, vitest_1.expect)(creator.creatorType).toBe('author'); (0, vitest_1.expect)(creator.name).toBe('UNESCO'); (0, vitest_1.expect)(creator.firstName).toBeUndefined(); (0, vitest_1.expect)(creator.lastName).toBeUndefined(); }); }); (0, vitest_1.describe)('Getters', () => { (0, vitest_1.it)('should return all properties correctly', () => { const data = { creatorType: 'editor', firstName: 'Jane', lastName: 'Smith' }; const creator = new ZCreator_1.ZCreator(data); (0, vitest_1.expect)(creator.creatorType).toBe('editor'); (0, vitest_1.expect)(creator.firstName).toBe('Jane'); (0, vitest_1.expect)(creator.lastName).toBe('Smith'); }); }); (0, vitest_1.describe)('Setters', () => { let creator; (0, vitest_1.beforeEach)(() => { creator = new ZCreator_1.ZCreator({ creatorType: 'author', firstName: 'John', lastName: 'Doe' }); }); (0, vitest_1.it)('should set creatorType', () => { creator.creatorType = 'editor'; (0, vitest_1.expect)(creator.creatorType).toBe('editor'); }); (0, vitest_1.it)('should set firstName', () => { creator.firstName = 'Jane'; (0, vitest_1.expect)(creator.firstName).toBe('Jane'); }); (0, vitest_1.it)('should set lastName', () => { creator.lastName = 'Smith'; (0, vitest_1.expect)(creator.lastName).toBe('Smith'); }); (0, vitest_1.it)('should set name and clear first/last names', () => { creator.name = 'Organization'; (0, vitest_1.expect)(creator.name).toBe('Organization'); (0, vitest_1.expect)(creator.firstName).toBeUndefined(); (0, vitest_1.expect)(creator.lastName).toBeUndefined(); }); (0, vitest_1.it)('should clear name when setting firstName', () => { creator.name = 'Organization'; creator.firstName = 'John'; (0, vitest_1.expect)(creator.firstName).toBe('John'); (0, vitest_1.expect)(creator.name).toBeUndefined(); }); (0, vitest_1.it)('should clear name when setting lastName', () => { creator.name = 'Organization'; creator.lastName = 'Doe'; (0, vitest_1.expect)(creator.lastName).toBe('Doe'); (0, vitest_1.expect)(creator.name).toBeUndefined(); }); }); (0, vitest_1.describe)('toJSON()', () => { (0, vitest_1.it)('should return creator data for full name', () => { const data = { creatorType: 'author', firstName: 'John', lastName: 'Doe' }; const creator = new ZCreator_1.ZCreator(data); const json = creator.toJSON(); (0, vitest_1.expect)(json).toEqual(data); (0, vitest_1.expect)(json).not.toBe(data); }); (0, vitest_1.it)('should return creator data for single name', () => { const data = { creatorType: 'author', name: 'UNESCO' }; const creator = new ZCreator_1.ZCreator(data); const json = creator.toJSON(); (0, vitest_1.expect)(json).toEqual(data); }); }); }); //# sourceMappingURL=ZCreator.test.js.map