Пример #1
0
        public JsonResult SavePayment(PaymentCreationParameters payment)
        {
            var user             = AppService.Current.User.CurrentUser;
            var patientLoginInfo = new PatientLoginInfo
            {
                ID        = user.ID,
                LastName  = user.LastName,
                FirstName = user.FirstName,
                Email     = user.Email
            };
            var result = _paymentManager.SavePayment(patientLoginInfo, payment, null);

            return(this.CamelCaseJson(result));
        }
Пример #2
0
 public void One_time_payment_throws_exception_when_payment_date_is_in_the_past()
 {
     var services          = CreateServices();
     var patientLoginInfo  = CreatePatientLoginInfo();
     var paymentParameters = new PaymentCreationParameters
     {
         PaymentType        = PaymentType.onetime,
         PatientId          = 1,
         Amount             = 100,
         OneTimePaymentDate = DateTime.Today.AddDays(-3),
         CardNumber         = "4242424242424242",
         CardExpiryMonth    = "05",
         CardExpiryYear     = "2018",
         CardSecurityCode   = "123"
     };
     var result = services.PaymentManager.SavePayment(patientLoginInfo, paymentParameters, null);
 }
Пример #3
0
 public void Savepayment_throws_exception_when_amount_is_lower_or_equal_zero()
 {
     var services          = CreateServices();
     var patientLoginInfo  = CreatePatientLoginInfo();
     var paymentParameters = new PaymentCreationParameters
     {
         PaymentType        = PaymentType.onetime,
         PatientId          = 1,
         Amount             = 0,
         OneTimePaymentDate = DateTime.Today,
         CardNumber         = "4242424242424242",
         CardExpiryMonth    = "05",
         CardExpiryYear     = "2018",
         CardSecurityCode   = "123"
     };
     var result = services.PaymentManager.SavePayment(patientLoginInfo, paymentParameters, null);
 }
Пример #4
0
 public void Recurring_payment_throws_exception_when_recurring_start_date_is_null()
 {
     var services          = CreateServices();
     var patientLoginInfo  = CreatePatientLoginInfo();
     var paymentParameters = new PaymentCreationParameters
     {
         PaymentType        = PaymentType.recurring,
         PatientId          = 1,
         Amount             = 100,
         RecurringDateStart = null,
         CardNumber         = "4242424242424242",
         CardExpiryMonth    = "05",
         CardExpiryYear     = "2018",
         CardSecurityCode   = "123"
     };
     var result = services.PaymentManager.SavePayment(patientLoginInfo, paymentParameters, null);
 }
Пример #5
0
 public void Recurring_payment_throws_exception_when_recurring_start_date_is_outside_time_window()
 {
     var services          = CreateServices();
     var patientLoginInfo  = CreatePatientLoginInfo();
     var startDate         = DateTime.Today.AddMonths(services.PaymentManager.Configuration.RecurringTransactionTimeWindow + 1);
     var paymentParameters = new PaymentCreationParameters
     {
         PaymentType        = PaymentType.recurring,
         PatientId          = 1,
         Amount             = 100,
         RecurringDateStart = startDate,
         RecurringDateEnd   = startDate.AddDays(10),
         CardNumber         = "4242424242424242",
         CardExpiryMonth    = "05",
         CardExpiryYear     = "2018",
         CardSecurityCode   = "123"
     };
     var result = services.PaymentManager.SavePayment(patientLoginInfo, paymentParameters, null);
 }
Пример #6
0
        public void One_time_payment_is_scheduled()
        {
            var services          = CreateServices();
            var patientLoginInfo  = CreatePatientLoginInfo();
            var paymentParameters = new PaymentCreationParameters
            {
                PaymentType        = PaymentType.onetime,
                PatientId          = 1,
                Amount             = 100,
                OneTimePaymentDate = DateTime.Today.AddDays(2),
                CardNumber         = "4242424242424242",
                CardExpiryMonth    = "05",
                CardExpiryYear     = "2018",
                CardSecurityCode   = "123"
            };
            var result = services.PaymentManager.SavePayment(patientLoginInfo, paymentParameters, null);

            services.PaymentGatewayMock.Verify(m => m.Charge(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>()), Times.Never());
            services.PaymentScheduleRepositoryMock.Verify(m => m.Insert(It.IsAny <PaymentSchedule>()), Times.Once());
        }
Пример #7
0
        public void Recurring_payment_creates_scheduled_payments()
        {
            var services          = CreateServices();
            var patientLoginInfo  = CreatePatientLoginInfo();
            var paymentParameters = new PaymentCreationParameters
            {
                PaymentType        = PaymentType.recurring,
                PatientId          = 1,
                Amount             = 100,
                RecurringFrequency = RecurringFrequency.weekly,
                RecurringDateStart = DateTime.Today,
                RecurringDateEnd   = DateTime.Today.AddDays(30),
                CardNumber         = "4242424242424242",
                CardExpiryMonth    = "05",
                CardExpiryYear     = "2018",
                CardSecurityCode   = "123"
            };
            var result = services.PaymentManager.SavePayment(patientLoginInfo, paymentParameters, null);

            services.PaymentScheduleRepositoryMock.Verify(m => m.Insert(It.IsAny <IEnumerable <PaymentSchedule> >()), Times.Once());
        }