Пример #1
0
        public void TestProcessTransactionPass()
        {
            Mock <IPaymentService> mock = new Mock <IPaymentService>();

            Guid   merchantId   = Guid.NewGuid();
            string payerCardNum = "456712341234";
            string merchantCard = "41231425679";

            PaymentTransactionDetails ptd = new PaymentTransactionDetails
            {
                Amount       = 121.0,
                CCV          = "231",
                ExpiryDate   = "12/12/2020",
                MerchantId   = merchantId,
                PayerCardNum = payerCardNum
            };

            PaymentResponse pr = new PaymentResponse
            {
                Amount       = 121.0,
                Identifier   = Guid.NewGuid(),
                MerchantId   = merchantId,
                PayerCardNum = "",
                Status       = false
            };

            mock.Setup(i => i.ProcessTransaction(ptd, merchantCard)).Returns(pr);

            MerchantsList ml = new MerchantsList
            {
                MerchantsInfoList = new System.Collections.Generic.List <MerchantInfo>
                {
                    new MerchantInfo
                    {
                        Uid        = pr.MerchantId,
                        CardNumber = merchantCard
                    }
                }
            };

            // PaymentGatewayController paymentGatewayController = new PaymentGatewayController(mock.Object, ml);
            //paymentGatewayController.MakePayment(ptd);

            mock.Verify(f => f.ProcessTransaction(ptd, merchantCard));
            Assert.AreEqual(pr, mock.Object.ProcessTransaction(ptd, merchantCard));
        }
Пример #2
0
 public PaymentGatewayController(IPaymentService paymentService, MerchantsList merchantsList)
 {
     this.paymentService = paymentService;
     this.merchantsList  = merchantsList;
 }