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

56 lines
2 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
check.equals(sheet.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
2017-10-26 21:47:13 +00:00
check.equals(sheet.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");
let portrait = as(Phaser.Button, sheet.group_portraits.getChildAt(1));
portrait.onInputUp.dispatch();
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
});
}