Private
Public Access
1
0

added downgrades & upgrades

This commit is contained in:
Sander Roosendaal
2019-02-08 12:39:31 +01:00
parent 10519ca558
commit 319ce56e07
4 changed files with 167 additions and 2 deletions

View File

@@ -366,6 +366,7 @@ class PaymentTest(TestCase):
'amount':'15.00',
'plan': plans[1].id,
'payment_method_nonce': 'aap',
'tac':'tac',
}
form = BillingForm(form_data)
@@ -410,6 +411,7 @@ class PaymentTest(TestCase):
'amount':'15.00',
'plan': plans[1].id,
'payment_method_nonce': 'aap',
'tac':'tac',
}
form = BillingForm(form_data)
@@ -453,6 +455,7 @@ class PaymentTest(TestCase):
'amount':'15.00',
'plan': plans[1].id,
'payment_method_nonce': 'aap',
'tac':'tac',
}
form = BillingForm(form_data)
@@ -470,3 +473,136 @@ class PaymentTest(TestCase):
expected_url = '/rowers/downgradecompleted/',
status_code=302,target_status_code=200)
@patch('rowers.views.braintreestuff.create_subscription', side_effect=mock_create_subscription)
def test_checkouts_view(self,mock_subscription):
u = UserFactory()
r = Rower.objects.create(user=u,
birthdate=faker.profile()['birthdate'],
gdproptin=True,
gdproptindate=timezone.now(),
rowerplan='coach',
paymentprocessor='braintree',
street_address = faker.street_address(),
city = faker.city(),
postal_code = faker.postalcode(),
country = faker.country(),
)
r.save()
u.set_password(self.password)
u.save()
plans = PaidPlan.objects.all().order_by('price')
plan = plans[1]
form_data = {
'amount':'15.00',
'plan': plans[1].id,
'payment_method_nonce': 'aap',
}
login = self.c.login(username=u.username, password=self.password)
self.assertTrue(login)
url = '/rowers/checkouts/'
response = self.c.post(url, form_data,follow=True)
self.assertEqual(response.status_code,200)
self.assertRedirects(response,
expected_url = '/rowers/checkout/{planid}'.format(
planid=plans[1].id),
status_code=302,target_status_code=200)
@patch('rowers.views.braintreestuff.update_subscription', side_effect=mock_update_subscription)
def test_upgrade_checkouts_view(self,mock_subscription):
u = UserFactory()
r = Rower.objects.create(user=u,
birthdate=faker.profile()['birthdate'],
gdproptin=True,
gdproptindate=timezone.now(),
rowerplan='coach',
paymentprocessor='braintree',
street_address = faker.street_address(),
city = faker.city(),
postal_code = faker.postalcode(),
country = faker.country(),
)
r.save()
u.set_password(self.password)
u.save()
plans = PaidPlan.objects.all().order_by('price')
plan = plans[1]
form_data = {
'amount':'15.00',
'plan': plans[1].id,
'payment_method_nonce': 'aap',
# 'tac':'tac',
}
form = BillingForm(form_data)
self.assertTrue(form.is_valid())
login = self.c.login(username=u.username, password=self.password)
self.assertTrue(login)
url = '/rowers/upgradecheckouts/'
response = self.c.post(url, form_data,follow=True)
self.assertEqual(response.status_code,200)
self.assertRedirects(response,
expected_url = '/rowers/upgradecheckout/{planid}'.format(
planid=plans[1].id),
status_code=302,target_status_code=200)
@patch('rowers.views.braintreestuff.update_subscription', side_effect=mock_update_subscription)
def test_downgrade_checkouts_view(self,mock_subscription):
u = UserFactory()
r = Rower.objects.create(user=u,
birthdate=faker.profile()['birthdate'],
gdproptin=True,
gdproptindate=timezone.now(),
rowerplan='coach',
paymentprocessor='braintree',
street_address = faker.street_address(),
city = faker.city(),
postal_code = faker.postalcode(),
country = faker.country(),
)
r.save()
u.set_password(self.password)
u.save()
plans = PaidPlan.objects.all().order_by('price')
plan = plans[1]
form_data = {
'amount':'15.00',
'plan': plans[1].id,
'payment_method_nonce': 'aap',
# 'tac':'tac',
}
form = BillingForm(form_data)
self.assertTrue(form.is_valid())
login = self.c.login(username=u.username, password=self.password)
self.assertTrue(login)
url = '/rowers/downgradecheckouts/'
response = self.c.post(url, form_data,follow=True)
self.assertEqual(response.status_code,200)
self.assertRedirects(response,
expected_url = '/rowers/downgradecheckout/{planid}'.format(
planid=plans[1].id),
status_code=302,target_status_code=200)