Exemplo n.º 1
0
        public void CreateGameAndJoin_AnyNameAnyUser_CallsProvider()
        {
            //arrange
            var gameName = "someName";

            //act
            var viewResult = _controller.CreateGameAndJoin(gameName, _dummyPlayer.Id) as JsonResult;

            // assert
            Assert.NotNull(viewResult.Data);
            var model = viewResult.Data.AsDynamic();

            Assert.NotNull(model.game);
            Assert.Equal(_dummyGameState, model.game);
            _gameStateProvider.Received().CreateGame(gameName);
            _gameStateProvider.Received().JoinGame(_dummyGameState.Id, _dummyPlayer.Id);
        }
Exemplo n.º 2
0
        public void Vote_WithValidParameters_CallsStateVote()
        {
            // Arrange
            const int  gameId    = 84;
            const int  xPlayerId = 12;
            const bool inFavor   = true;

            var httpContext = new DefaultHttpContext();

            httpContext.Request.Headers["X-Player"] = xPlayerId.ToString();
            var controllerContext = new ControllerContext
            {
                HttpContext = httpContext
            };

            sut.ControllerContext = controllerContext;

            var game = new Game
            {
                GameStateId = GameState.VoteForGovernment
            };

            var gameState = Substitute.For <IGameState>();

            _gameStateProvider.Get(Arg.Any <GameState>()).Returns(gameState);
            _gameDataService.GetGame(gameId).Returns(game);

            // Act
            var result = sut.Vote(gameId, inFavor) as OkObjectResult;

            // Assert
            _gameStateProvider.Received().Get(GameState.VoteForGovernment);
            _gameDataService.Received().GetGame(gameId);
            gameState.Received().Vote(game, xPlayerId, inFavor);
            result.Should().NotBeNull();
            result.Should().BeOfType <OkObjectResult>();
            result.Value.Should().Be(game);
        }
Exemplo n.º 3
0
        public void Choose_WithValidPlayerId_CallsChooseFunctionAndReturnsOk()
        {
            // Arrange
            const int playerId = 12;
            const int gameId   = 84;
            const int xPlayer  = 33;

            var httpContext = new DefaultHttpContext();

            httpContext.Request.Headers["X-Player"] = xPlayer.ToString();
            var controllerContext = new ControllerContext
            {
                HttpContext = httpContext
            };

            sut.ControllerContext = controllerContext;

            var player = new Player {
                Id = playerId
            };
            Game game = new Game
            {
                Players = new List <Player> {
                    player
                },
                GameStateId = GameState.ChoosePresident
            };
            var gameState = Substitute.For <IGameState>();

            _gameDataService.GetGame(gameId).Returns(game);
            _gameStateProvider.Get(game.GameStateId).Returns(gameState);

            // Act
            sut.Choose(gameId, playerId);
            _gameStateProvider.Received().Get(GameState.ChoosePresident);
            gameState.Received().Choose(game, xPlayer, playerId);
        }