From 448c4e1cb3b7cfc76d8f5714b64f166463472bce Mon Sep 17 00:00:00 2001
From: Carlos Vega <carlos.vega@uni.lu>
Date: Thu, 22 Nov 2018 19:14:53 +0100
Subject: [PATCH] updated view and form tests

---
 smash/web/tests/forms/test_voucher_forms.py |  2 ++
 smash/web/tests/view/test_study.py          | 17 +++++++++++++++
 smash/web/tests/view/test_voucher.py        | 19 ++++++++++++++++
 smash/web/tests/view/test_voucher_type.py   | 15 +++++++++++++
 smash/web/tests/view/test_worker.py         | 24 +++++++++++++++++++--
 5 files changed, 75 insertions(+), 2 deletions(-)

diff --git a/smash/web/tests/forms/test_voucher_forms.py b/smash/web/tests/forms/test_voucher_forms.py
index 17a25f96..42a80008 100644
--- a/smash/web/tests/forms/test_voucher_forms.py
+++ b/smash/web/tests/forms/test_voucher_forms.py
@@ -20,6 +20,7 @@ class VoucherFormTests(LoggedInWithWorkerTestCase):
         self.voucher_partner = create_voucher_partner()
 
     def test_create_voucher(self):
+        self.login_as_admin()
         voucher_type = create_voucher_type()
         study_subject = create_study_subject()
         study_subject.voucher_types.add(voucher_type)
@@ -43,6 +44,7 @@ class VoucherFormTests(LoggedInWithWorkerTestCase):
         self.assertEqual(2, Voucher.objects.all().count())
 
     def test_invalid_usage_partner(self):
+        self.login_as_admin()
         study_subject = create_study_subject()
         voucher = create_voucher(study_subject)
         voucher.status = VOUCHER_STATUS_USED
diff --git a/smash/web/tests/view/test_study.py b/smash/web/tests/view/test_study.py
index 93f9919b..6b7f18b6 100644
--- a/smash/web/tests/view/test_study.py
+++ b/smash/web/tests/view/test_study.py
@@ -16,9 +16,15 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase):
         self.study = get_test_study()
 
     def test_render_study_edit(self):
+        self.login_as_admin()
         response = self.client.get(reverse('web.views.edit_study', kwargs={'study_id': GLOBAL_STUDY_ID}))
         self.assertEqual(response.status_code, 200)
 
+    def test_render_study_edit_staff(self):
+        self.login_as_staff()
+        response = self.client.get(reverse('web.views.edit_study', kwargs={'study_id': GLOBAL_STUDY_ID}))
+        self.assertEqual(response.status_code, 302)
+
     def test_save_study(self):
         form_data = self.create_edit_form_data_for_study()
 
@@ -29,6 +35,7 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase):
         self.assertFalse("edit" in response['Location'])
 
     def test_save_invalid_data(self):
+        self.login_as_admin()
         form_data = {}
 
         response = self.client.post(
@@ -36,7 +43,17 @@ class SubjectsViewTests(LoggedInWithWorkerTestCase):
 
         self.assertEqual(response.status_code, 200)
 
+    def test_save_invalid_data_staff(self):
+        self.login_as_staff()
+        form_data = {}
+
+        response = self.client.post(
+            reverse('web.views.edit_study', kwargs={'study_id': GLOBAL_STUDY_ID}), data=form_data)
+
+        self.assertEqual(response.status_code, 302)
+
     def test_save_study_without_changing_page(self):
+        self.login_as_admin()
         form_data = self.create_edit_form_data_for_study()
         form_data['_continue'] = True
 
diff --git a/smash/web/tests/view/test_voucher.py b/smash/web/tests/view/test_voucher.py
index 40237c10..87390c8e 100644
--- a/smash/web/tests/view/test_voucher.py
+++ b/smash/web/tests/view/test_voucher.py
@@ -17,17 +17,33 @@ logger = logging.getLogger(__name__)
 
 class VoucherTypeViewTests(LoggedInTestCase):
     def test_render_add_voucher_request(self):
+        self.login_as_admin()
         study_subject = create_study_subject()
         url = reverse('web.views.voucher_add') + "?study_subject_id=" + str(study_subject.id)
         response = self.client.get(url)
         self.assertEqual(response.status_code, 200)
 
     def test_render_edit_voucher_request(self):
+        self.login_as_admin()
         voucher = create_voucher()
         response = self.client.get(reverse('web.views.voucher_edit', kwargs={'pk': voucher.id}))
         self.assertEqual(response.status_code, 200)
 
+    def test_render_add_voucher_request_staff(self):
+        self.login_as_staff()
+        study_subject = create_study_subject()
+        url = reverse('web.views.voucher_add') + "?study_subject_id=" + str(study_subject.id)
+        response = self.client.get(url)
+        self.assertEqual(response.status_code, 302)
+
+    def test_render_edit_voucher_request_staff(self):
+        self.login_as_staff()
+        voucher = create_voucher()
+        response = self.client.get(reverse('web.views.voucher_edit', kwargs={'pk': voucher.id}))
+        self.assertEqual(response.status_code, 302)
+
     def test_add_voucher(self):
+        self.login_as_admin()
         voucher_type = create_voucher_type()
         study_subject = create_study_subject()
         study_subject.voucher_types.add(voucher_type)
@@ -56,6 +72,7 @@ class VoucherTypeViewTests(LoggedInTestCase):
         self.assertEqual(1, Voucher.objects.all().count())
 
     def test_edit_voucher(self):
+        self.login_as_admin()
         voucher = create_voucher()
         usage_partner = create_voucher_partner()
         usage_partner.voucher_types.add(voucher.voucher_type)
@@ -74,6 +91,7 @@ class VoucherTypeViewTests(LoggedInTestCase):
         self.assertEqual(1, Voucher.objects.all().count())
 
     def test_expire_voucher_cron_job(self):
+        self.login_as_admin()
         voucher = create_voucher()
         voucher.status = VOUCHER_STATUS_NEW
         voucher.expiry_date = "2011-01-01"
@@ -84,6 +102,7 @@ class VoucherTypeViewTests(LoggedInTestCase):
         self.assertEqual(VOUCHER_STATUS_EXPIRED, updated_voucher.status)
 
     def test_expire_voucher_cron_job_with_no_vouchers_to_update(self):
+        self.login_as_admin()
         voucher = create_voucher()
         voucher.status = VOUCHER_STATUS_USED
         voucher.expiry_date = "2011-01-01"
diff --git a/smash/web/tests/view/test_voucher_type.py b/smash/web/tests/view/test_voucher_type.py
index a3aa36ae..7d0cf5d8 100644
--- a/smash/web/tests/view/test_voucher_type.py
+++ b/smash/web/tests/view/test_voucher_type.py
@@ -12,15 +12,18 @@ logger = logging.getLogger(__name__)
 
 class VoucherTypeViewTests(LoggedInTestCase):
     def test_render_add_voucher_type_request(self):
+        self.login_as_admin()
         response = self.client.get(reverse('web.views.voucher_type_add'))
         self.assertEqual(response.status_code, 200)
 
     def test_render_edit_voucher_type_request(self):
+        self.login_as_admin()
         voucher_type = create_voucher_type()
         response = self.client.get(reverse('web.views.voucher_type_edit', kwargs={'pk': voucher_type.id}))
         self.assertEqual(response.status_code, 200)
 
     def test_add_voucher_type(self):
+        self.login_as_admin()
         form_data = {
             'code': "X",
             'description': "y",
@@ -30,3 +33,15 @@ class VoucherTypeViewTests(LoggedInTestCase):
         self.assertEqual(response.status_code, 302)
 
         self.assertEqual(1, VoucherType.objects.all().count())
+
+    def test_render_add_voucher_type_request_staff(self):
+        self.login_as_staff()
+        response = self.client.get(reverse('web.views.voucher_type_add'))
+        self.assertEqual(response.status_code, 302)
+
+    def test_render_edit_voucher_type_request_staff(self):
+        self.login_as_staff()
+        voucher_type = create_voucher_type()
+        response = self.client.get(reverse('web.views.voucher_type_edit', kwargs={'pk': voucher_type.id}))
+        self.assertEqual(response.status_code, 302)
+
diff --git a/smash/web/tests/view/test_worker.py b/smash/web/tests/view/test_worker.py
index e6be78c7..06542ce8 100644
--- a/smash/web/tests/view/test_worker.py
+++ b/smash/web/tests/view/test_worker.py
@@ -16,18 +16,26 @@ logger = logging.getLogger(__name__)
 
 class WorkerViewTests(LoggedInTestCase):
     def test_render_workers_list_request(self):
-        self.login_as_staff()
+        self.login_as_admin()
 
         create_worker()
 
         response = self.client.get(reverse('web.views.workers'))
         self.assertEqual(response.status_code, 200)
 
-    def test_render_worker_type_request(self):
+    def test_render_workers_list_request_staff(self):
         self.login_as_staff()
 
         create_worker()
 
+        response = self.client.get(reverse('web.views.workers'))
+        self.assertEqual(response.status_code, 302)
+
+    def test_render_worker_type_request(self):
+        self.login_as_admin()
+
+        create_worker()
+
         response = self.client.get(reverse('web.views.workers', kwargs={'worker_type': WORKER_STAFF}))
         self.assertEqual(response.status_code, 200)
         response = self.client.get(reverse('web.views.workers', kwargs={'worker_type': WORKER_HEALTH_PARTNER}))
@@ -35,6 +43,18 @@ class WorkerViewTests(LoggedInTestCase):
         response = self.client.get(reverse('web.views.workers', kwargs={'worker_type': WORKER_VOUCHER_PARTNER}))
         self.assertEqual(response.status_code, 200)
 
+    def test_render_worker_type_request_staff(self):
+        self.login_as_staff()
+
+        create_worker()
+
+        response = self.client.get(reverse('web.views.workers', kwargs={'worker_type': WORKER_STAFF}))
+        self.assertEqual(response.status_code, 302)
+        response = self.client.get(reverse('web.views.workers', kwargs={'worker_type': WORKER_HEALTH_PARTNER}))
+        self.assertEqual(response.status_code, 302)
+        response = self.client.get(reverse('web.views.workers', kwargs={'worker_type': WORKER_VOUCHER_PARTNER}))
+        self.assertEqual(response.status_code, 302)
+
     def test_render_add_worker_request(self):
         self.login_as_admin()
 
-- 
GitLab