public void TestGame_TeamLobbyWithInvalidTeamId_ThrowsException() { // arrange var query = new TeamLobbyViewModelQuery { TeamId = Guid.Empty.ToShortGuidString() }; // act & assert var exception = Assert.ThrowsExceptionAsync <DomainException>(() => Mediator.Send(query)).Result; Assert.AreEqual(ResultCode.InvalidEntityId, exception.ResultCode); Assert.AreEqual("Invalid TeamId.", exception.Message); Assert.IsTrue(exception.IsBadRequest); }
public void TestGame_TeamLobby_ShouldntShowOwnTeam() { // arrange var firstTeam = Teams[0]; var query = new TeamLobbyViewModelQuery { TeamId = firstTeam.Id }; // act var model = Mediator.Send(query).Result; // assert CollectionAssert.DoesNotContain(model.OtherTeamsInGame, firstTeam.Id); }
public void TestGame_TeamLobbyWithNonOpenGame_ThrowsException() { // arrange var game = UnitOfWork.GetCollection <Game>().GetAsync(Game.Id).Result; game.SetState(GameState.Closed); UnitOfWork.GetCollection <Game>().UpdateAsync(game); var firstTeam = Teams[0]; var query = new TeamLobbyViewModelQuery { TeamId = firstTeam.Id }; // act & assert var exception = Assert.ThrowsExceptionAsync <DomainException>(() => Mediator.Send(query)).Result; Assert.AreEqual(ResultCode.LobbyUnavailableBecauseOfGameState, exception.ResultCode); Assert.AreEqual("The lobby for this game is not open.", exception.Message); Assert.IsTrue(exception.IsBadRequest); }