Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }