@reldens/items-system
Version:
Reldens - Items System
57 lines (48 loc) • 1.85 kB
JavaScript
/**
*
* Reldens - ItemSingle Unit Tests
*
*/
const { describe, it, beforeEach, afterEach } = require('node:test');
const assert = require('node:assert');
const ItemSingle = require('../../../../lib/item/type/single');
const ItemsManager = require('../../../../lib/manager');
const { TestHelpers } = require('../../../utils/test-helpers');
const { SingleItemsFixtures } = require('../../../fixtures/items/single-items');
const { MockOwner } = require('../../../fixtures/mocks/mock-owner');
describe('ItemSingle', () => {
let mockOwner;
let manager;
beforeEach(() => {
mockOwner = new MockOwner();
manager = new ItemsManager({owner: mockOwner});
TestHelpers.clearEventListeners();
});
afterEach(() => {
TestHelpers.clearEventListeners();
});
describe('Constructor', () => {
it('should set singleInstance to true', () => {
let itemData = {...SingleItemsFixtures.stackableItem, manager: manager};
let item = new ItemSingle(itemData);
assert.strictEqual(item.singleInstance, true);
});
it('should set uid to key', () => {
let itemData = {...SingleItemsFixtures.stackableItem, manager: manager};
let item = new ItemSingle(itemData);
assert.strictEqual(item.uid, item.key);
});
});
describe('isSingleInstance', () => {
it('should return true', () => {
assert.strictEqual(ItemSingle.isSingleInstance(), true);
});
});
describe('getInventoryId', () => {
it('should return key for single instance items', () => {
let itemData = {...SingleItemsFixtures.stackableItem, manager: manager};
let item = new ItemSingle(itemData);
assert.strictEqual(item.getInventoryId(), item.key);
});
});
});