Ejemplo n.º 1
0
 def test_get_should_detect_if_the_user_already_have_talk_subscription(
         self):
     v = views.TutorialSubscriptionView()
     request = RequestFactory().get("/")
     request.user = User.objects.get(pk=2)
     resp = v.get(request)
     self.assertTrue(resp.context_data["confirmed"])
Ejemplo n.º 2
0
 def test_post_with_user_confirmed_for_the_conference(self):
     tutorials, request = self._prepare_post(user=2)
     v = views.TutorialSubscriptionView()
     resp = v.post(request)
     subscription = Subscription.objects.get(user_id=2, type="tutorial")
     self.assertEqual("subscription/tutorials_confirmed.html",
                      resp.template_name)
     self.assertEqual(subscription, resp.context_data["subscription"])
     self.assertEqual("confirmed", subscription.status)
     self.assertFalse(subscription.transaction_set.exists())
Ejemplo n.º 3
0
 def test_post_creates_subscription_and_transaction(self):
     tutorials, request = self._prepare_post()
     v = views.TutorialSubscriptionView()
     v.post(request)
     subscription = Subscription.objects.get(user_id=3)
     self.assertEqual("tutorial", subscription.type)
     self.assertEqual("pending", subscription.status)
     self.assertEqual(list(tutorials), list(subscription.tutorials.all()))
     transaction = subscription.transaction_set.all()[0]
     self.assertEqual(65, transaction.price)
     self.assertEqual("xpto123", transaction.code)
     self.assertEqual("pending", transaction.status)
Ejemplo n.º 4
0
 def test_post_renders_template_with_information_about_the_transaction_and_the_subscription(
         self):
     tutorials, request = self._prepare_post()
     v = views.TutorialSubscriptionView()
     resp = v.post(request)
     subscription = Subscription.objects.get(user_id=3)
     transaction = subscription.transaction_set.get(price=65)
     self.assertIsInstance(resp, response.TemplateResponse)
     self.assertEqual("subscription/tutorials_success.html",
                      resp.template_name)
     self.assertEqual(transaction, resp.context_data["transaction"])
     self.assertEqual(subscription, resp.context_data["subscription"])
Ejemplo n.º 5
0
 def test_get_should_include_accepted_tutorials_in_context_excluding_subscribed_tutorials(
         self):
     v = views.TutorialSubscriptionView()
     resp = v.get(self.request)
     tutorials = resp.context_data["tutorials"]
     expected = [
         views.TutorialSlot(tutorials=sched_models.Session.objects.filter(
             pk__in=[1, 5])),
     ]
     self.assertEqual(len(expected), len(tutorials))
     for i, slot in enumerate(tutorials):
         self.assertEqual(list(expected[i].tutorials), list(slot.tutorials))
     self.assertFalse(resp.context_data["confirmed"])
Ejemplo n.º 6
0
 def test_get_should_include_subscripted_tutorials_in_context(self):
     v = views.TutorialSubscriptionView()
     resp = v.get(self.request)
     tutorials = resp.context_data["subscribed"]
     self.assertEqual(list(tutorials),
                      [sched_models.Session.objects.get(pk=6)])
Ejemplo n.º 7
0
 def test_get_renders_template(self):
     v = views.TutorialSubscriptionView()
     resp = v.get(self.request)
     self.assertIsInstance(resp, response.TemplateResponse)
     self.assertEqual("subscription/tutorials.html", resp.template_name)