public async void GameCommandHandlerHandlesCreateGameCommand() { // Arrange var mockAggregateRepo = new Mock <IAggregateRepository>(); var newGameGuid = Guid.NewGuid(); var fakeCommand = new CreateGame(newGameGuid, 8); var sut = new GameCommandHandler(mockAggregateRepo.Object); // Act await sut.Handle(fakeCommand); //Assert mockAggregateRepo.Verify(m => m.Save(It.IsAny <Game>(), -1), Times.Once); }
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()); }