public async Task ProductionConfirmedConsumer_ThrowsArgumentException() { //Arrange var reference = "test"; var productionConfirmedEvent = new ProductionConfirmedEvent { Reference = reference }; var context = Mock.Of <ConsumeContext <ProductionConfirmedEvent> >(x => x.Message == productionConfirmedEvent); var consumer = new ProductionConfirmedConsumer(productPartRepo.Object, logger.Object); //Assert await Assert.ThrowsAsync <ArgumentException>(() => consumer.Consume(context)); logger.VerifyLogging(LogLevel.Error); }
public async Task ProductionConfirmedConsumer_ThrowsNullDataException() { //Arrange var reference = "test"; var quantity = 1; var parts = new List <Part>(); var productionConfirmedEvent = new ProductionConfirmedEvent { Reference = reference, Quantity = quantity }; var context = Mock.Of <ConsumeContext <ProductionConfirmedEvent> >(x => x.Message == productionConfirmedEvent); productPartRepo.Setup(x => x.GetProductParts(It.IsAny <string>())).Returns(Task.FromResult(parts)); var consumer = new ProductionConfirmedConsumer(productPartRepo.Object, logger.Object); //Assert await Assert.ThrowsAsync <NullDataException>(() => consumer.Consume(context)); logger.VerifyLogging(LogLevel.Error); }
public async Task ProductionConfirmedConsumer_Success() { //Arrange var reference = "test"; var quantity = 1; var parts = new List <Part> { new Part() }; var productionConfirmedEvent = new ProductionConfirmedEvent { Reference = reference, Quantity = quantity }; var context = Mock.Of <ConsumeContext <ProductionConfirmedEvent> >(x => x.Message == productionConfirmedEvent); productPartRepo.Setup(x => x.GetProductParts(It.IsAny <string>())).Returns(Task.FromResult(parts)); var consumer = new ProductionConfirmedConsumer(productPartRepo.Object, logger.Object); //Act await consumer.Consume(context); //Assert productPartRepo.Verify(x => x.SaveAllAsync(), Times.Once); logger.VerifyLogging(LogLevel.Information); }