Browse Source

More tests.

pull/25/merge
Pēteris Caune 9 years ago
parent
commit
44f0ad45a4
1 changed files with 36 additions and 3 deletions
  1. +36
    -3
      hc/payments/tests/test_create_plan.py

+ 36
- 3
hc/payments/tests/test_create_plan.py View File

@ -27,14 +27,14 @@ class CreatePlanTestCase(TestCase):
def run_create_plan(self, plan_id="P5"): def run_create_plan(self, plan_id="P5"):
form = {"plan_id": plan_id, "payment_method_nonce": "test-nonce"} form = {"plan_id": plan_id, "payment_method_nonce": "test-nonce"}
self.client.login(username="alice", password="password") self.client.login(username="alice", password="password")
return self.client.post("/pricing/create_plan/", form)
return self.client.post("/pricing/create_plan/", form, follow=True)
@patch("hc.payments.views.braintree") @patch("hc.payments.views.braintree")
def test_it_works(self, mock): def test_it_works(self, mock):
self._setup_mock(mock) self._setup_mock(mock)
r = self.run_create_plan() r = self.run_create_plan()
self.assertEqual(r.status_code, 302)
self.assertRedirects(r, "/pricing/")
# Subscription should be filled out: # Subscription should be filled out:
sub = Subscription.objects.get(user=self.alice) sub = Subscription.objects.get(user=self.alice)
@ -63,5 +63,38 @@ class CreatePlanTestCase(TestCase):
sub.save() sub.save()
r = self.run_create_plan() r = self.run_create_plan()
self.assertEqual(r.status_code, 302)
self.assertRedirects(r, "/pricing/")
assert mock.Subscription.cancel.called assert mock.Subscription.cancel.called
@patch("hc.payments.views.braintree")
def test_customer_creation_failure(self, mock):
self._setup_mock(mock)
mock.Customer.create.return_value.is_success = False
mock.Customer.create.return_value.message = "Test Failure"
r = self.run_create_plan()
self.assertRedirects(r, "/pricing/")
self.assertContains(r, "Test Failure")
@patch("hc.payments.views.braintree")
def test_pm_creation_failure(self, mock):
self._setup_mock(mock)
mock.PaymentMethod.create.return_value.is_success = False
mock.PaymentMethod.create.return_value.message = "pm failure"
r = self.run_create_plan()
self.assertRedirects(r, "/pricing/")
self.assertContains(r, "pm failure")
@patch("hc.payments.views.braintree")
def test_subscription_creation_failure(self, mock):
self._setup_mock(mock)
mock.Subscription.create.return_value.is_success = False
mock.Subscription.create.return_value.message = "sub failure"
r = self.run_create_plan()
self.assertRedirects(r, "/pricing/")
self.assertContains(r, "sub failure")

Loading…
Cancel
Save