public async Task Handle(UpdatePlayerName command) { var aggregateGame = await _store.GetById <Game>(command.GameId); aggregateGame.UpdatePlayer(command.Name, command.Position); await _store.Save(aggregateGame, aggregateGame.Version); }
public async void GameCommandHandlerHandlesUpdatePlayerNameCommand() { // Arrange var mockAggregateRepo = new Mock <IAggregateRepository>(); var fakeGame = new Game(); mockAggregateRepo.Setup(m => m.GetById <Game>(Guid.Empty)).Returns(Task.FromResult(fakeGame)); var newCommandId = Guid.NewGuid(); var fakeCommand = new UpdatePlayerName(newCommandId, 0, Guid.Empty, "Dave", 1); var sut = new GameCommandHandler(mockAggregateRepo.Object); // Act await sut.Handle(fakeCommand); //Assert mockAggregateRepo.Verify(m => m.GetById <Game>(Guid.Empty), Times.Once); mockAggregateRepo.Verify(m => m.Save(It.IsAny <Game>(), It.IsAny <int>()), Times.Once); Assert.Equal(1, fakeGame.GetUncommittedChanges().Count()); Assert.Equal(typeof(PlayerNameUpdated), fakeGame.GetUncommittedChanges().First().GetType()); }
public async Task Handle(UpdatePlayerName command) { await Command.Save(command); }