Exemple #1
0
        public void TestGame_RegisterWithExistingTeamName_ThrowsException()
        {
            // arrange
            var command = new RegisterForGameCommand {
                Name = "Team 3", Code = "JOINME"
            };

            // act & assert
            var exception = Assert.ThrowsExceptionAsync <DomainException>(() => Mediator.Send(command)).Result;

            Assert.AreEqual("Team name is taken.", exception.Message);
            Assert.IsTrue(exception.IsBadRequest);
        }
Exemple #2
0
        public void TestGame_RegisterWithInvalidCode_ThrowsException()
        {
            // arrange
            var command = new RegisterForGameCommand {
                Name = "Team 4", Code = "INVALIDCODE"
            };

            // act & assert
            var exception = Assert.ThrowsExceptionAsync <DomainException>(() => Mediator.Send(command)).Result;

            Assert.AreEqual("Invalid code.", exception.Message);
            Assert.IsFalse(exception.IsBadRequest);
        }
Exemple #3
0
        public void TestGame_RegisterWithCorrectNewTeam_TeamRegistered()
        {
            // arrange
            var command = new RegisterForGameCommand {
                Name = "Team 4", Code = "JOINME"
            };

            // act
            var team = Mediator.Send(command).Result;

            // assert
            Assert.AreEqual("Team 4", team.Name);
        }
Exemple #4
0
        public void TestGame_UseTeamRecoveryCode_RecoveryCodeAccepted()
        {
            // arrange
            var firstTeamId = Game.TeamIds[0];
            var firstTeam   = UnitOfWork.GetCollection <Team>().GetAsync(firstTeamId).Result;
            var command     = new RegisterForGameCommand {
                Name = "", Code = firstTeam.RecoveryCode
            };

            // act
            var team = Mediator.Send(command).Result;

            // assert
            team.RecoveryCode = firstTeam.RecoveryCode;
        }
Exemple #5
0
        public void TestGame_RegisterWithCorrectNewTeam_TeamInGame()
        {
            // arrange
            var command = new RegisterForGameCommand {
                Name = "Team 4", Code = "JOINME"
            };

            // act
            var team = Mediator.Send(command).Result;

            // assert
            var gameCollection = UnitOfWork.GetCollection <Game>();
            var game           = gameCollection.GetAsync(team.CurrentGameId).Result;

            CollectionAssert.Contains(game.TeamIds, team.Id);
            Assert.AreEqual("Team 4", team.Name);
        }