コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }