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;
|
2018-02-08 15:16:03 +00:00
|
|
|
check.patch(view, "getWidth", () => 1240);
|
2018-03-20 22:06:39 +00:00
|
|
|
let sheet = new CharacterSheet(view, CharacterSheetMode.DISPLAY);
|
2017-02-27 23:36:12 +00:00
|
|
|
|
2018-02-08 15:16:03 +00:00
|
|
|
check.equals(sheet.x, -1240);
|
2017-02-27 23:36:12 +00:00
|
|
|
|
2017-02-28 22:34:02 +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
|
|
|
|
2018-03-20 22:06:39 +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);
|
2018-02-08 15:16:03 +00:00
|
|
|
check.equals(sheet.group_portraits.length, 2);
|
2017-02-27 23:36:12 +00:00
|
|
|
|
2018-03-20 22:06:39 +00:00
|
|
|
check.equals(sheet.text_name && sheet.text_name.text, "Ship 1");
|
2017-02-28 22:34:02 +00:00
|
|
|
|
2018-02-08 15:16:03 +00:00
|
|
|
let portrait = as(Phaser.Button, sheet.group_portraits.getChildAt(1));
|
2017-02-28 22:34:02 +00:00
|
|
|
portrait.onInputUp.dispatch();
|
|
|
|
|
2018-03-20 22:06:39 +00:00
|
|
|
check.equals(sheet.text_name && sheet.text_name.text, "Ship 2");
|
2017-03-14 17:48:04 +00:00
|
|
|
});
|
2017-11-14 23:45:09 +00:00
|
|
|
|
|
|
|
test.case("controls global interactivity state", check => {
|
2018-03-20 22:06:39 +00:00
|
|
|
let sheet = new CharacterSheet(testgame.view, CharacterSheetMode.EDITION);
|
2017-11-14 23:45:09 +00:00
|
|
|
check.equals(sheet.isInteractive(), false, "no ship");
|
|
|
|
|
|
|
|
let ship = new Ship();
|
|
|
|
ship.critical = true;
|
2018-03-20 22:06:39 +00:00
|
|
|
sheet.show(ship);
|
2017-11-14 23:45:09 +00:00
|
|
|
check.equals(sheet.isInteractive(), false, "critical ship");
|
2017-12-12 22:17:25 +00:00
|
|
|
|
2017-11-14 23:45:09 +00:00
|
|
|
ship.critical = false;
|
2018-03-20 22:06:39 +00:00
|
|
|
sheet.show(ship);
|
2017-11-14 23:45:09 +00:00
|
|
|
check.equals(sheet.isInteractive(), true, "normal ship");
|
|
|
|
|
2018-03-20 22:06:39 +00:00
|
|
|
sheet = new CharacterSheet(testgame.view, CharacterSheetMode.DISPLAY);
|
|
|
|
sheet.show(ship);
|
2017-11-14 23:45:09 +00:00
|
|
|
check.equals(sheet.isInteractive(), false, "interactivity disabled");
|
|
|
|
|
2018-03-20 22:06:39 +00:00
|
|
|
sheet.show(ship);
|
2017-11-14 23:45:09 +00:00
|
|
|
check.equals(sheet.isInteractive(), false, "interactivity stays disabled");
|
2017-12-12 22:17:25 +00:00
|
|
|
});
|
2017-02-28 22:34:02 +00:00
|
|
|
});
|
2017-02-27 23:36:12 +00:00
|
|
|
});
|
|
|
|
}
|