예제 #1
0
        public void BuildsService()
        {
            // Arrange
            var factory = new PaymentServiceFactory();

            // Act
            var service = factory.BuildPaymentService();

            // Assert
            Assert.IsNotNull(service);
        }
예제 #2
0
        private static void ProcessCharging(PaymentServiceFactory.ServicesAvailable serviceToCharge,
                                            string emailToCharge, float moneyToCharge, EnumChargingOptions optionToCharge)
        {
            PaymentServiceFactory factory = new PaymentServiceFactory();
            var service = factory.Create(serviceToCharge);

            service.EmailToCharge  = emailToCharge;
            service.MoneyToCharge  = moneyToCharge;
            service.OptionToCharge = optionToCharge;
            service.ProcessCharging();
        }
예제 #3
0
        static void Main(string[] args)
        {
            var service = PaymentServiceFactory.Create();
            //if (service is PayPalService)
            //    ((PayPalService) service).RefreshToken();

            var referenceCode = service.DoPayment();

            Console.WriteLine("DoPayment finished. reference code : {0}", referenceCode);
            Console.ReadLine();
        }
예제 #4
0
        public async Task Should_Create_Customer_If_Null()
        {
            await using (var context = new DbContextFactory().CreateContext())
            {
                var service = new PaymentServiceFactory().Create(context);

                Guid userId = new Guid("046E876E-D413-45AF-AC2A-552D7AA46C5C");
                var  result = service.AddPaymentMethod(new AddPaymentMethodBody()
                {
                    UserId    = userId,
                    CardToken = "tok_visa_debit"
                });
                result.Should().NotBeNull();
                var user = context.Users.First(x => x.Id == userId);
                user.StripeCustomerId.Should().NotBeNull();
            }
        }