public ErrandModel[] PopErrand([FromBody] SessionContextModel parameters)
 {
     return(_gameSessionService
            .PopErrand(parameters.SessionId, parameters.PlayerName)
            .Select(CreateErrandModel)
            .ToEnumerable()
            .ToArray());
 }
示例#2
0
        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);
        }
示例#5
0
        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);
 }