public void MapResponse_ShouldCallLinkMappingsAndReturnEntity() { var entity = new DummyEntityFaker().Generate(); var response = responseMapper.MapResponse(entity); response.Data.Should().BeEquivalentTo(entity); linkMapper.Verify(x => x.MapControllerLinks(), Times.Once); linkMapper.Verify(x => x.MapEntityLinks(entity), Times.Once); }
public void CanMapGatewayResponseToResponse() { var source = new GatewayResponse { MerchantId = "merchantId", MerchantReferenceNumber = "refNumber", IsSuccess = true, FailureReason = "operation successfull", GatewayId = "gatewayId", PaymentAmount = 123.45d, PaymentCurrency = "USD", TruncatedCardNumber = "***0404", TimeStamp = DateTimeOffset.UtcNow }; var result = ResponseMapper.MapResponse(source); Check.That(result.IsSuccess).Equals(source.IsSuccess); Check.That(result.FailureReason).Equals(source.FailureReason); Check.That(result.MerchantId).Equals(source.MerchantId); Check.That(result.MerchantReferenceNumber).Equals(source.MerchantReferenceNumber); Check.That(result.PaymentAmount).Equals(source.PaymentAmount); Check.That(result.PaymentCurrency).Equals(source.PaymentCurrency); Check.That(result.TimeStamp).Equals(source.TimeStamp); Check.That(result.TruncatedCardNumber).Equals(source.TruncatedCardNumber); }
public async Task <PaymentResponse> PaymentRequest(string merchantId, [FromBody] PaymentRequest payload) { var request = RequestMapper.MapPaymentRequest(merchantId, payload, clock); var result = await gateway.HandlePaymentRequest(request); return(ResponseMapper.MapResponse(result)); }
public async Task <PaymentResponse> PaymentDetails(string merchantId, string merchantReferenceNumber) { var request = RequestMapper.MapDetailsRequest(merchantId, merchantReferenceNumber, clock); var result = await gateway.HandleDetailsRequest(request); return(ResponseMapper.MapResponse(result)); }