modaq
Version:
Quiz Bowl Reader using TypeScript, React, and MobX
58 lines • 3.1 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const chai_1 = require("chai");
const BonusQuestionController = __importStar(require("src/components/BonusQuestionController"));
const GameFormats = __importStar(require("src/state/GameFormats"));
const TeamState_1 = require("src/state/TeamState");
const PacketState_1 = require("src/state/PacketState");
require("src/state/Cycle");
const AppState_1 = require("src/state/AppState");
describe("BonusQuestionControllerTests", () => {
describe("throwOutBonus", () => {
it("Throw out Bonus", () => {
AppState_1.AppState.resetInstance();
const appState = AppState_1.AppState.instance;
appState.game.addNewPlayers([new TeamState_1.Player("Alice", "Alpha", true), new TeamState_1.Player("Bob", "Beta", true)]);
const packet = new PacketState_1.PacketState();
packet.setTossups([
new PacketState_1.Tossup("This is the first question", "Answer"),
new PacketState_1.Tossup("This is the second question", "Second answer"),
]);
packet.setBonuses([new PacketState_1.Bonus("First leadin", []), new PacketState_1.Bonus("Second leadin", [])]);
appState.game.loadPacket(packet);
const cycle = appState.game.cycles[0];
cycle.addCorrectBuzz({ player: appState.game.players[0], points: 10, position: 0 }, 0, GameFormats.UndefinedGameFormat, 0, 3);
BonusQuestionController.throwOutBonus(cycle, 0);
const messageDialog = appState.uiState.dialogState.messageDialog;
if (messageDialog == undefined || messageDialog.onOK == undefined) {
chai_1.assert.fail("OK/Cancel dialog should've appeared");
}
messageDialog.onOK();
if (cycle.thrownOutBonuses == undefined) {
chai_1.assert.fail("ThrownOutBonuses was undefined");
}
chai_1.expect(cycle.thrownOutBonuses[0].questionIndex).to.equal(0);
chai_1.expect(appState.game.getBonusIndex(0)).to.equal(1);
});
});
});
//# sourceMappingURL=BonusQuestionControllerTests.js.map