public void Test_StartSession_ReturnsIdForSession() { var gameId = 6667; var game = new Game() { Id = gameId }; _mockGameStorage.GetSingle(game.Id).Returns(game.Some()); var errands = Enumerable.Range(1, 6).Select(i => new Errand { Id = i, Description = "Errand " + i }); _mockGameErrandStorage.GetForGame(game.Id).Returns(errands); var guid = Guid.NewGuid(); _mockGameSessionStorage.CreateSession(game, errands).Returns(guid); var result = _service.StartSession(gameId); Assert.AreEqual(guid, result); }
public void Test_GetForGame_ReturnsCorrectItems() { var gameId = 666; var items = Enumerable.Range(1, 20).Select(i => new Errand() { Id = i, Description = "game " + i }).ToList(); _mockGameErrandStorage.GetForGame(gameId).Returns(items); var result = Controller.GetForGame(gameId); Assert.NotNull(result); Assert.AreEqual(items.Count, result.Count()); foreach (var item in items) { Assert.IsTrue( result.Any(actual => actual.Id == item.Id && actual.Description == item.Description)); } }
public Guid StartSession(long gameId) { var game = _gameStorage .GetSingle(gameId) .ValueOrFailure($"No game exists with ID {gameId}"); var errands = _gameErrandStorage.GetForGame(gameId); var sessionId = _gameSessionStorage.CreateSession(game, errands); var newEvent = new SessionCreatedEvent(sessionId, errands.Count()); _gameSessionEvents.OnNext(newEvent); _gameSessionEventStorage.AddEvent(sessionId, newEvent); return(sessionId); }
public IEnumerable <ErrandModel> GetForGame(long gameId) { return(_gameErrandStorage.GetForGame(gameId).Select(CreateTaskModel).ToList()); }