public async Task Process_Success_ShouldReturnResponseIsSuccessFalse_ShouldNotProduceEvent() { //Arrange var selectionCount = new Faker().Random.Int(1, 5); var updateMarketCommand = FakerHelpers.FakeUpdateMarketCommand(selectionCount); var updateMarketResponse = new UpdateMarketResponse(false); // Act await _sut.Process(updateMarketCommand, updateMarketResponse, CancellationToken.None); // Assert Assert.False(updateMarketResponse.Success); _producerServiceMock.Verify(x => x.ProduceAsync(It.IsAny <int>(), It.IsAny <UpdateMarketSuccessEvent>()), Times.Never); }
public async Task Process_Success_ShouldReturnResponseIsSuccessTrue_ShouldProduceEvent() { //Arrange var selectionCount = new Faker().Random.Int(1, 5); var updateMarketCommand = FakerHelpers.FakeUpdateMarketCommand(selectionCount); var updateMarketResponse = new UpdateMarketResponse(true); var updateMarketSuccessEvent = FakerHelpers.FakeUpdateMarketSuccessEvent(updateMarketCommand.CorrelationId, selectionCount); _mapperMock.Setup(x => x.Map <UpdateMarketSuccessEvent>(updateMarketCommand)).Returns(updateMarketSuccessEvent); _producerServiceMock.Setup(x => x.ProduceAsync(updateMarketSuccessEvent.MarketId, updateMarketSuccessEvent)) .Returns(Task.CompletedTask); // Act await _sut.Process(updateMarketCommand, updateMarketResponse, CancellationToken.None); // Assert Assert.True(updateMarketResponse.Success); Assert.True(updateMarketCommand.CorrelationId == updateMarketSuccessEvent.CorrelationId); Assert.True(updateMarketCommand.Selections.Count() == updateMarketSuccessEvent.Selections.Count()); Assert.True(updateMarketSuccessEvent.Processed); _producerServiceMock.Verify(x => x.ProduceAsync(It.IsAny <int>(), It.IsAny <UpdateMarketSuccessEvent>()), Times.Once); }