Last active
June 15, 2020 21:50
Moq.ILogger.PaymentsProcessor - Processing_outstanding_orders_logs_batch_size - Moq API
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Fact] | |
public async Task Processing_outstanding_orders_logs_batch_size() | |
{ | |
// Arrange | |
var ordersRepositoryMock = new Mock<IOrdersRepository>(); | |
ordersRepositoryMock.Setup(c => c.GetOutstandingOrders()) | |
.ReturnsAsync(GenerateOutstandingOrders(100)); | |
var paymentServiceMock = new Mock<IPaymentService>(); | |
paymentServiceMock | |
.Setup(c => c.CompletePayment(It.IsAny<Order>())) | |
.ReturnsAsync((Order order) => new PaymentTransaction | |
{ | |
TransactionId = $"TRX-{order.OrderReference}" | |
}); | |
var loggerMock = new Mock<ILogger<PaymentsProcessor>>(); | |
var sut = new PaymentsProcessor(ordersRepositoryMock.Object, paymentServiceMock.Object, loggerMock.Object); | |
// Act | |
await sut.ProcessOutstandingOrders(); | |
// Assert | |
loggerMock.Verify(c => c.LogInformation("A batch of {0} outstanding orders was completed", 100)); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment