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

57 lines
2.1 KiB
TypeScript
Raw Normal View History

2017-09-24 22:23:22 +00:00
module TK.SpaceTac.UI.Specs {
2017-10-26 21:47:13 +00:00
testing("CharacterSheet", test => {
2017-02-27 23:36:12 +00:00
2017-10-26 21:47:13 +00:00
testing("in UI", test => {
2017-10-29 21:08:55 +00:00
let testgame = setupEmptyView(test);
2017-02-27 23:36:12 +00:00
2017-10-26 21:47:13 +00:00
test.case("displays fleet and ship information", check => {
2017-10-09 21:13:56 +00:00
let view = testgame.view;
check.patch(view, "getWidth", () => 1240);
let sheet = new CharacterSheet(view, CharacterSheetMode.DISPLAY);
2017-02-27 23:36:12 +00:00
2018-05-15 14:57:45 +00:00
check.equals(sheet.container.x, -1240);
2017-02-27 23:36:12 +00:00
let fleet = new Fleet();
let ship1 = fleet.addShip();
ship1.name = "Ship 1";
let ship2 = fleet.addShip();
ship2.name = "Ship 2";
2017-02-27 23:36:12 +00:00
sheet.show(ship1, false);
2017-02-27 23:36:12 +00:00
2018-05-15 14:57:45 +00:00
check.equals(sheet.container.x, 0);
check.equals(sheet.group_portraits.length, 2);
2017-02-27 23:36:12 +00:00
check.equals(sheet.text_name && sheet.text_name.text, "Ship 1");
2018-05-15 14:57:45 +00:00
let portrait = as(UIButton, sheet.group_portraits.getAt(1));
2019-05-06 17:14:12 +00:00
portrait.emit("pointerdown", { buttons: 1 });
portrait.emit("pointerup", { buttons: 1 });
check.equals(sheet.text_name && sheet.text_name.text, "Ship 2");
});
test.case("controls global interactivity state", check => {
let sheet = new CharacterSheet(testgame.view, CharacterSheetMode.EDITION);
check.equals(sheet.isInteractive(), false, "no ship");
let ship = new Ship();
ship.critical = true;
sheet.show(ship);
check.equals(sheet.isInteractive(), false, "critical ship");
ship.critical = false;
sheet.show(ship);
check.equals(sheet.isInteractive(), true, "normal ship");
sheet = new CharacterSheet(testgame.view, CharacterSheetMode.DISPLAY);
sheet.show(ship);
check.equals(sheet.isInteractive(), false, "interactivity disabled");
sheet.show(ship);
check.equals(sheet.isInteractive(), false, "interactivity stays disabled");
});
});
2017-02-27 23:36:12 +00:00
});
}