1
0
Fork 0
spacetac/src/ui/character/CharacterSlot.spec.ts

39 lines
1.6 KiB
TypeScript

module TS.SpaceTac.UI.Specs {
describe("CharacterSlot", function () {
let testgame = setupEmptyView();
it("allows dragging equipment", function () {
let view = testgame.baseview;
let ship = new Ship();
ship.addSlot(SlotType.Hull);
let sheet = new CharacterSheet(view);
sheet.show(ship);
let source = new CharacterLootSlot(sheet, 0, 0);
sheet.addChild(source);
let equipment = new CharacterEquipment(sheet, new Equipment(SlotType.Engine), source);
let slot = new CharacterSlot(sheet, 0, 0, SlotType.Engine);
expect(slot.addEquipment(equipment, source, true)).toBe(false);
expect(slot.removeEquipment(equipment, source, true)).toBe(false);
ship.addSlot(SlotType.Engine);
expect(slot.addEquipment(equipment, source, true)).toBe(true);
equipment.item.requirements["skill_time"] = 1;
expect(slot.addEquipment(equipment, source, true)).toBe(false);
ship.upgradeSkill("skill_time");
expect(slot.addEquipment(equipment, source, true)).toBe(true);
expect(ship.listEquipment(SlotType.Engine)).toEqual([]);
let result = slot.addEquipment(equipment, source, false);
expect(result).toBe(true);
expect(ship.listEquipment(SlotType.Engine)).toEqual([equipment.item]);
result = slot.removeEquipment(equipment, source, false);
expect(result).toBe(true);
expect(ship.listEquipment(SlotType.Engine)).toEqual([]);
});
});
}