public async Task Then_the_payment_is_posted_successfully() { //Arrange _httpClient.SetUpPostAsAsync(System.Net.HttpStatusCode.Accepted); var payment = _fixture.Create <PaymentDto>(); //Act await _sut.SendPaymentRequests(new List <PaymentDto> { payment }); }
public async Task Then_the_nonsensitive_payment_data_is_logged() { //Arrange var loggerMock = new Mock <ILogger <BusinessCentralFinancePaymentsService> >(); _sut = new BusinessCentralFinancePaymentsService(_httpClient, 3, "XXX", false, loggerMock.Object); _httpClient.SetUpPostAsAsync(HttpStatusCode.Accepted); var payment1 = _fixture.Create <PaymentDto>(); var payment2 = _fixture.Create <PaymentDto>(); var req1 = _sut.MapToBusinessCentralPaymentRequest(payment1); var req2 = _sut.MapToBusinessCentralPaymentRequest(payment2); //Act await _sut.SendPaymentRequests(new List <PaymentDto> { payment1, payment2 }); //Assert loggerMock.VerifyLogContains(LogLevel.Information, Times.Once(), req1.ActivityCode); loggerMock.VerifyLogContains(LogLevel.Information, Times.Once(), req1.AccountCode); loggerMock.VerifyLogContains(LogLevel.Information, Times.Once(), req1.CostCentreCode); loggerMock.VerifyLogContains(LogLevel.Information, Times.Once(), req1.RequestorUniquePaymentIdentifier); loggerMock.VerifyLogContains(LogLevel.Information, Times.Once(), req1.DueDate); loggerMock.VerifyLogContains(LogLevel.Information, Times.Once(), req2.ActivityCode); loggerMock.VerifyLogContains(LogLevel.Information, Times.Once(), req2.AccountCode); loggerMock.VerifyLogContains(LogLevel.Information, Times.Once(), req2.CostCentreCode); loggerMock.VerifyLogContains(LogLevel.Information, Times.Once(), req2.RequestorUniquePaymentIdentifier); loggerMock.VerifyLogContains(LogLevel.Information, Times.Once(), req2.DueDate); }