public ErrandModel[] PopErrand([FromBody] SessionContextModel parameters) { return(_gameSessionService .PopErrand(parameters.SessionId, parameters.PlayerName) .Select(CreateErrandModel) .ToEnumerable() .ToArray()); }
public async Task JoinGame(Guid sessionId, string player) { var model = new SessionContextModel { SessionId = sessionId, PlayerName = player }; var response = await _client.PostAsJsonAsync(gameSessionUrl + "join", model); response.EnsureSuccessStatusCode(); }
private SessionContextModel GetSession() { SessionContextModel kernel = _sessionState["kernel"] as SessionContextModel; if (kernel == null) { kernel = new SessionContextModel(); } return(kernel); }
public void Test_LeaveSession_LeavesSession() { var join = new SessionContextModel { SessionId = Guid.NewGuid(), PlayerName = "player player" }; Controller.LeaveSession(join); _mockGameSessionService.Received().LeaveSession(join.SessionId, join.PlayerName); }
public async Task <ErrandModel> PopErrand(Guid sessionId) { var model = new SessionContextModel { SessionId = sessionId }; var response = await _client.PostAsJsonAsync(gameSessionUrl + "popErrand", model); response.EnsureSuccessStatusCode(); var errand = (await response.ToObject <ErrandModel[]>())[0]; Assert.NotNull(errand); Assert.IsFalse(string.IsNullOrWhiteSpace(errand.Description)); return(errand); }
public void Test_PopErrand_ReturnsEmptyArrayIfThereAreNoErrands() { var contextModel = new SessionContextModel { SessionId = Guid.NewGuid(), PlayerName = "Player One" }; _mockGameSessionService.PopErrand(contextModel.SessionId, contextModel.PlayerName).Returns(new Option <Errand>()); var result = Controller.PopErrand(contextModel); Assert.NotNull(result); Assert.AreEqual(0, result.Length, "There should be no items in array"); }
public void Test_PopErrand_ReturnsErrand() { var contextModel = new SessionContextModel { SessionId = Guid.NewGuid(), PlayerName = "Player One" }; var errand = new Errand { Id = 123, Description = "Jump around or don't, I'm not your father." }; _mockGameSessionService.PopErrand(contextModel.SessionId, contextModel.PlayerName).Returns(errand.Some()); var result = Controller.PopErrand(contextModel); Assert.NotNull(result); Assert.AreEqual(1, result.Length, "There should be only one errand in array"); Assert.AreEqual(errand.Description, result[0].Description); Assert.AreEqual(errand.Id, result[0].Id); }
private void SaveSession(SessionContextModel Kernel) { _sessionState["kernel"] = Kernel; }
public void PurgeSession() { var sess = new SessionContextModel(); this.SaveSession(sess); }
public void LeaveSession([FromBody] SessionContextModel joinParameters) { _gameSessionService.LeaveSession(joinParameters.SessionId, joinParameters.PlayerName); }