1
0
Fork 0
spacetac/src/core/actions/EndTurnAction.spec.ts

31 lines
1.1 KiB
TypeScript

module TS.SpaceTac.Specs {
describe("EndTurnAction", () => {
it("can't be applied to non-playing ship", () => {
spyOn(console, "warn").and.stub();
let battle = Battle.newQuickRandom();
let action = new EndTurnAction();
expect(action.checkCannotBeApplied(battle.play_order[0])).toBe(null);
expect(action.checkCannotBeApplied(battle.play_order[1])).toBe("ship not playing");
let ship = battle.play_order[1];
let result = action.apply(battle.play_order[1]);
expect(result).toBe(false);
expect(console.warn).toHaveBeenCalledWith("Action rejected - ship not playing", ship, action, Target.newFromShip(ship));
});
it("ends turn when applied", () => {
let battle = Battle.newQuickRandom();
let action = new EndTurnAction();
expect(battle.playing_ship_index).toBe(0);
let result = action.apply(battle.play_order[0], Target.newFromShip(battle.play_order[0]));
expect(result).toBe(true);
expect(battle.playing_ship_index).toBe(1);
});
});
}