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