public async Task Handle(PlayerNameUpdated message) { var gameToUpdate = await _read.Get <GameDetails>(message.GameId); gameToUpdate.Players[message.Position].Name = message.Name; gameToUpdate.Version = message.Version; await _save.Put(gameToUpdate); }
public async void AGameEventHandlerShouldHandleThePlayerNameUpdatedEvent() { var mockReadFac = new Mock <IReadModelFacade>(); var mockReadPer = new Mock <IReadModelPersistence>(); var fakeEvent = new PlayerNameUpdated(Guid.Empty, "Dave", 1) { Version = 1 }; var gameDetails = new GameDetails(); mockReadFac.Setup(m => m.Get <GameDetails>(Guid.Empty)).Returns(Task.FromResult(gameDetails)); var sut = new GameEventHandler(mockReadFac.Object, mockReadPer.Object); await sut.Handle(fakeEvent); Assert.Equal("Dave", gameDetails.Players[1].Name); Assert.Equal(1, gameDetails.Version); mockReadPer.Verify(m => m.Put(It.IsAny <GameDetails>()), Times.Once); }