Browse Source

Add tests to ensure only owner of invoice can access it

Fabs 10 years ago
parent
commit
dd6bf47336
1 changed files with 13 additions and 5 deletions
  1. 13 5
      coin/billing/tests.py

+ 13 - 5
coin/billing/tests.py

@@ -112,7 +112,7 @@ class BillingInvoiceCreationTests(TestCase):
                          datetime.date(2014, 5, 31))
 
 
-class BillingPDFTests(TestCase):
+class BillingTests(TestCase):
 
     # def test_download_invoice_pdf_return_a_pdf(self):
     #     """
@@ -140,7 +140,7 @@ class BillingPDFTests(TestCase):
     #     self.assertContains(response, '%PDF-1.', status_code=200, html=False)
     #     member.delete()
 
-    def test_that_only_owner_of_invoice_can_download_it_as_pdf(self):
+    def test_that_only_owner_of_invoice_can_access_it(self):
         """
         Test qu'une facture ne peut pas être téléchargée par quelqu'un qui n'en
         est pas le propriétaire.
@@ -171,15 +171,23 @@ class BillingPDFTests(TestCase):
         # Simule une connexion en tant que A
         client = Client()
         client.login(username=member_a_login, password=member_a_pwd)
-        # Tente de télécharger la facture de A en tant que A
+        # Tente d'accéder à la facture en tant que A
+        response = client.get(invoice_a.get_absolute_url())
+        # Vérifie que A a reçu retour OK 200
+        self.assertEqual(response.status_code, 200)
+        # Tente de télécharger la facture pdf de A en tant que A
         response = client.get('/billing/invoice/%i/pdf' % invoice_a.id)
-        # Vérifie que B a reçu retour OK 200
+        # Vérifie que A a reçu retour OK 200
         self.assertEqual(response.status_code, 200)
 
         # Simule une connexion en tant que B
         client = Client()
         client.login(username=member_b_login, password=member_b_pwd)
-        # Tente de télécharger la facture de A en tant que B
+        # Tente d'accéder à la facture de A en tant que B
+        response = client.get(invoice_a.get_absolute_url())
+        # Vérifie que B a reçu retour Forbissen 403
+        self.assertEqual(response.status_code, 403)
+        # Tente de télécharger la facture pdf de A en tant que B
         response = client.get('/billing/invoice/%i/pdf' % invoice_a.id)
         # Vérifie que B a reçu retour Forbidden 403
         self.assertEqual(response.status_code, 403)