コード例 #1
0
        private static Services CreateServices()
        {
            var services = new Services
            {
                PaymentGatewayMock            = new Mock <IPaymentGateway>(),
                PaymentRepositoryMock         = new Mock <IPaymentRepository>(),
                CreditCardRepositoryMock      = new Mock <IRepository <CreditCard> >(),
                PaymentScheduleRepositoryMock = new Mock <IPaymentScheduleRepository>(),
                PaymentChargeRepositoryMock   = new Mock <IPaymentChargeRepository>()
            };

            services.PaymentManager = new PaymentManager(
                services.PaymentGatewayMock.Object,
                services.PaymentRepositoryMock.Object,
                services.CreditCardRepositoryMock.Object,
                services.PaymentScheduleRepositoryMock.Object,
                services.PaymentChargeRepositoryMock.Object,
                new DatesGenerator(),
                PaymentManagerConfiguration.CreateDefault()
                );
            services.PaymentRepositoryMock.Setup(m => m.Create()).Returns(new Payment());
            services.PaymentRepositoryMock.Setup(m => m.Insert(It.IsAny <Payment>())).Callback((Payment p) =>
            {
                p.Id = new Random().Next(1, 1000);
            });
            services.CreditCardRepositoryMock.Setup(m => m.Create()).Returns(new CreditCard());
            services.CreditCardRepositoryMock.Setup(m => m.Insert(It.IsAny <CreditCard>())).Callback((CreditCard p) =>
            {
                p.Id = new Random().Next(1, 1000);
            });
            services.PaymentScheduleRepositoryMock.Setup(m => m.Create()).Returns(new PaymentSchedule());
            services.PaymentScheduleRepositoryMock.Setup(m => m.Insert(It.IsAny <PaymentSchedule>())).Callback((PaymentSchedule p) =>
            {
                p.Id = new Random().Next(1, 1000);
            });
            services.PaymentChargeRepositoryMock.Setup(m => m.Create()).Returns(new PaymentCharge());
            services.PaymentChargeRepositoryMock.Setup(m => m.Insert(It.IsAny <PaymentCharge>())).Callback((PaymentCharge p) =>
            {
                p.Id = new Random().Next(1, 1000);
            });
            services.PaymentGatewayMock.Setup(m => m.Customer(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>())).Returns(new Dictionary <string, string> {
                { "error", null }
            });
            services.PaymentGatewayMock.Setup(m => m.CreateCard(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(new Dictionary <string, string> {
                { "error", null }, { "id", "creditcard" }, { "brand", "visa" }
            });
            services.PaymentGatewayMock.Setup(m => m.Charge(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())).Returns(new Dictionary <string, object> {
                { "error", null }, { "id", "transaction_id" }, { "outcome", new Dictionary <string, string> {
                                                                     { "type", "type" }
                                                                 } }
            });
            return(services);
        }
コード例 #2
0
 public PaymentsController()
 {
     _service        = new PaymentsService();
     _paymentManager = new PaymentManager(AppService.Current.Data.Context, PaymentManagerConfiguration.Create());
 }
コード例 #3
0
 public PaymentsController()
 {
     PaymentService = new PaymentsService(AppService.Current.DataContextV2);
     PaymentManager = new PaymentManager(AppService.Current.DataContextV2, PaymentManagerConfiguration.Create());
 }