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); }
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); }
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); }