public async Task Get_Returns_AcquiringBankResponse() { var paymentId = _fixture.Create <string>(); var mockBankResponse = _fixture.Create <IPayment>(); _mockAcquiringBank.Setup(b => b.GetPayment(It.Is <string>(id => id == paymentId))) .ReturnsAsync(mockBankResponse); var result = await _sut.Get(paymentId); result.ShouldBeOfType(typeof(OkObjectResult)); var actualResult = (result as OkObjectResult).Value as IPayment; actualResult.ShouldBeSameAs(mockBankResponse); }
public async Task GivenARetrievePaymentRequest_WhenProcessingIt_ShouldPassItToThePaymentOrchestrator() { // given var submitPaymentRequest = _fixture.Create <RetrievePaymentRequest>(); var retrievePaymentResponse = _fixture.Create <Checkout.Services.Models.PaymentReadModel>(); _mockOrchestator.Setup(x => x.RetrievePayment(It.IsAny <Checkout.Services.Models.RetrievePaymentRequest>())) .Returns(retrievePaymentResponse); // when await _sut.Get(submitPaymentRequest); // then _mockOrchestator.Verify(x => x.RetrievePayment(It.Is <Checkout.Services.Models.RetrievePaymentRequest>(y => y.PaymentId == submitPaymentRequest.PaymentId && y.MerchantId == submitPaymentRequest.MerchantId ))); }