예제 #1
0
        public async Task SetPayment_ReturnsAOkObjectResult_WithAPaymentResponse()
        {
            // Arrange
            var request = TestFactory.CreateHttpRequest(TestFactory.GetTestPayment());
            var mockAcquiringBankService = new Mock <IAcquiringBankService>();

            mockAcquiringBankService.Setup(serv => serv.SetPayment(It.IsAny <Payment>())).Returns(TestFactory.GetTestPaymentResponse());
            var paymentGatewayService  = new PaymentGatewayService(new PaymentGatewayClient(mockAcquiringBankService.Object, new NullLoggerFactory()));
            var paymentGatewayFunction = new PaymentGatewayFunction(paymentGatewayService, new NullLoggerFactory());

            // Act
            var response = await paymentGatewayFunction.SetPayment(request);

            // Assert
            var okResult = Assert.IsType <OkObjectResult>(response);
            var model    = Assert.IsAssignableFrom <PaymentResponse>(okResult.Value);
        }
예제 #2
0
        public async Task GetPayment_ReturnsAOkObjectResult_WithAPaymentEntityMasked()
        {
            // Arrange
            var paymentId = Guid.NewGuid().ToString();
            var request   = TestFactory.CreateHttpRequest();
            var mockAcquiringBankService = new Mock <IAcquiringBankService>();

            mockAcquiringBankService.Setup(serv => serv.GetPayment(It.IsAny <Guid>())).Returns(TestFactory.GetTestPaymentEntityResponse(paymentId));
            var paymentGatewayService  = new PaymentGatewayService(new PaymentGatewayClient(mockAcquiringBankService.Object, new NullLoggerFactory()));
            var paymentGatewayFunction = new PaymentGatewayFunction(paymentGatewayService, new NullLoggerFactory());

            // Act
            var response = await paymentGatewayFunction.GetPayment(request, paymentId);

            // Assert
            var okResult = Assert.IsType <OkObjectResult>(response);
            var model    = Assert.IsAssignableFrom <PaymentEntityMasked>(okResult.Value);

            Assert.Equal(paymentId, model.Id.ToString());
            Assert.Equal("XXXXXXXXXXXX4567", model.CardNumber);
            Assert.Equal("XXXX", model.ExpiryYear);
            Assert.Equal("XX", model.ExpiryMonth);
            Assert.Equal("XXX", model.CVV);
        }