2017-06-08 21:58:23 +00:00
|
|
|
/// <reference path="../TestGame.ts" />
|
|
|
|
/// <reference path="MainMenu.ts" />
|
|
|
|
|
2017-09-24 22:23:22 +00:00
|
|
|
module TK.SpaceTac.UI.Specs {
|
2017-10-26 21:47:13 +00:00
|
|
|
testing("LoadDialog", test => {
|
2018-04-12 16:30:08 +00:00
|
|
|
let testgame = setupEmptyView(test);
|
2017-06-08 21:58:23 +00:00
|
|
|
|
2017-10-26 21:47:13 +00:00
|
|
|
test.acase("joins remote sessions as spectator", async check => {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
let view = <MainMenu>testgame.ui.state.getCurrentState();
|
2017-06-08 21:58:23 +00:00
|
|
|
|
2017-10-26 21:47:13 +00:00
|
|
|
let session = new GameSession();
|
|
|
|
check.equals(session.primary, true);
|
|
|
|
check.equals(session.spectator, false);
|
|
|
|
view.getConnection().publish(session, "Test").then(token => {
|
2018-04-12 16:30:08 +00:00
|
|
|
let dialog = new InputInviteCode(view, new UIBuilder(view), 0, 0);
|
2017-10-26 21:47:13 +00:00
|
|
|
dialog.token_input.setContent(token);
|
2017-06-08 21:58:23 +00:00
|
|
|
|
2017-10-29 21:08:55 +00:00
|
|
|
check.patch(view.gameui, "setSession", (joined: GameSession) => {
|
2017-10-26 21:47:13 +00:00
|
|
|
test.check.equals(joined.id, session.id);
|
|
|
|
check.equals(joined.primary, false);
|
|
|
|
check.equals(joined.spectator, true);
|
|
|
|
resolve();
|
|
|
|
});
|
2017-06-08 21:58:23 +00:00
|
|
|
|
2017-10-26 21:47:13 +00:00
|
|
|
dialog.join();
|
|
|
|
});
|
2017-06-08 21:58:23 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|