public async Task It_Returns_A_409_Conflict_If_The_Game_Is_Already_Full() { //--arrange var newGame = await CreateValidGameForTesting(TestUserName, 1, 0); var joinGameResult = new JoinGameRequest(newGame.Id, "some user name"); //--act var exception = Assert.ThrowsAsync <ApiException>(async() => await GamesClient.JoinGame(joinGameResult, TestEnvironmentSettings.BaseApiUrl)); //--assert exception.ResponseStatusCode.ShouldBe(HttpStatusCode.Conflict); }
public async Task It_Returns_A_400_Bad_Request_If_The_User_Has_Already_Joined_The_Game() { //--arrange var newGame = await CreateValidGameForTesting(TestUserName, 2, 0); var joinGameResult = new JoinGameRequest(newGame.Id, TestUserName); //--act var exception = Assert.ThrowsAsync <ApiException>(async() => await GamesClient.JoinGame(joinGameResult, TestEnvironmentSettings.BaseApiUrl)); //--assert exception.ResponseStatusCode.ShouldBe(HttpStatusCode.BadRequest); }
public async Task It_Returns_The_Updated_Player() { //--arrange var newGame = await CreateValidGameForTesting(TestUserName, 2, 0); var joinGameRequest = new JoinGameRequest(newGame.Id, TestUserName2); //--have another player join so that the game is started await GamesClient.JoinGame(joinGameRequest, TestEnvironmentSettings.BaseApiUrl); var firstPlayer = newGame.Players[0]; var skillExpenditureRequest = new SkillExpenditureRequest(firstPlayer.Id); skillExpenditureRequest.IncreaseBudding(); //--act var result = await GamesClient.PushSkillExpenditures(newGame.Id, firstPlayer.Id, skillExpenditureRequest, TestEnvironmentSettings.BaseApiUrl); //--assert result.UpdatedPlayer.MutationPoints.ShouldBe(firstPlayer.MutationPoints - 1); }
public async Task It_Returns_Next_Round_Not_Available_If_Not_All_Players_Have_Pushed_Their_Points() { //--arrange var newGame = await CreateValidGameForTesting(TestUserName, 2, 0); var joinGameRequest = new JoinGameRequest(newGame.Id, TestUserName2); //--have another player join so that the game is started await GamesClient.JoinGame(joinGameRequest, TestEnvironmentSettings.BaseApiUrl); var firstPlayer = newGame.Players[0]; var skillExpenditureRequest = new SkillExpenditureRequest(firstPlayer.Id); for (int i = 0; i < firstPlayer.MutationPoints; i++) { skillExpenditureRequest.IncreaseRegeneration(); } //--act var result = await GamesClient.PushSkillExpenditures(newGame.Id, firstPlayer.Id, skillExpenditureRequest, TestEnvironmentSettings.BaseApiUrl); //--assert result.NextRoundAvailable.ShouldBe(false); }