From 5b3cd420c166d462d7ab3a13acde9c1cdfba12f6 Mon Sep 17 00:00:00 2001
From: Carlos Vega <carlos.vega@uni.lu>
Date: Wed, 21 Nov 2018 14:32:11 +0100
Subject: [PATCH] fixed tests

---
 smash/web/tests/__init__.py                | 13 ++++++++++++-
 smash/web/tests/view/test_configuration.py | 11 +++++++++++
 smash/web/tests/view/test_worker.py        | 17 ++++-------------
 3 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/smash/web/tests/__init__.py b/smash/web/tests/__init__.py
index 69223267..38eb48f3 100644
--- a/smash/web/tests/__init__.py
+++ b/smash/web/tests/__init__.py
@@ -4,8 +4,10 @@ from django.conf import settings
 from django.contrib.auth.models import User
 from django.test import Client
 from django.test import TestCase
+from web.models import Worker
+from web.decorators import PermissionDecorator
 
-from functions import create_worker
+from functions import create_worker, create_user, add_permissions_to_worker
 
 settings.MEDIA_ROOT = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data')
 
@@ -14,6 +16,15 @@ logger = logging.getLogger(__name__)
 
 class LoggedInTestCase(TestCase):
     def setUp(self):
+        self.password = 'abcd1234'
+        #superuser
+        self.super_worker = create_worker(user=User.objects.create_superuser(username='super', password=self.password, email='a@mail.com'))
+        #admin 
+        self.admin_worker = Worker.get_by_user(create_user(username='admin', password=self.password))
+        add_permissions_to_worker(self.admin_worker, PermissionDecorator.codenames)
+        #staff
+        self.staff_worker = Worker.get_by_user(create_user(username='staff', password=self.password))
+
         self.client = Client()
         username = 'piotr'
         password = 'top_secret'
diff --git a/smash/web/tests/view/test_configuration.py b/smash/web/tests/view/test_configuration.py
index 024f5e24..8ec809ab 100644
--- a/smash/web/tests/view/test_configuration.py
+++ b/smash/web/tests/view/test_configuration.py
@@ -2,8 +2,19 @@ from django.urls import reverse
 
 from web.tests import LoggedInTestCase
 
+import logging
+logger = logging.getLogger(__name__)
 
 class ConfigurationViewTests(LoggedInTestCase):
     def test_visit_details_request(self):
+    	self.client.logout()
+        self.client.login(username='admin', password=self.password) 
         response = self.client.get(reverse('web.views.configuration'))
+
         self.assertEqual(response.status_code, 200)
+
+    def test_visit_details_request_without_permissions(self):
+    	self.client.logout()
+        self.client.login(username='staff', password=self.password) 
+        response = self.client.get(reverse('web.views.configuration'))
+        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 16a66ed7..352e4ffc 100644
--- a/smash/web/tests/view/test_worker.py
+++ b/smash/web/tests/view/test_worker.py
@@ -7,7 +7,7 @@ from web.forms import WorkerForm
 from web.models import Worker
 from web.models.worker_study_role import WORKER_STAFF, ROLE_CHOICES_DOCTOR, WORKER_HEALTH_PARTNER, WORKER_VOUCHER_PARTNER
 from web.tests import create_worker
-from web.tests.functions import add_permissions_to_worker, create_user, create_language, create_location, create_availability, format_form_field
+from web.tests.functions import create_user, create_language, create_location, create_availability, format_form_field
 from .. import LoggedInTestCase
 from web.models.constants import GLOBAL_STUDY_ID
 
@@ -15,16 +15,6 @@ logger = logging.getLogger(__name__)
 
 
 class WorkerViewTests(LoggedInTestCase):
-    def setUp(self):
-        self.password = 'abcd1234'
-        #superuser
-        self.super_worker = create_worker(user=User.objects.create_superuser(username='super', password=self.password, email='a@mail.com'))
-        #admin 
-        self.admin_worker = Worker.get_by_user(create_user(username='admin', password=self.password))
-        add_permissions_to_worker(self.admin_worker, ['change_worker', 'add_worker'])
-        #staff
-        self.staff_worker = Worker.get_by_user(create_user(username='staff', password=self.password))
-
     def test_render_workers_list_request(self):
         self.client.logout()
         self.client.login(username='staff', password=self.password) 
@@ -66,7 +56,8 @@ class WorkerViewTests(LoggedInTestCase):
         self.assertEqual(response.status_code, 200)
 
     def test_render_worker_added_request(self):
-        self.assertEqual(3, User.objects.all().count())
+        self.assertEqual(3, Worker.objects.all().count())
+        self.assertEqual(4, User.objects.all().count())
 
         self.client.logout()
         self.client.login(username='admin', password=self.password)
@@ -82,7 +73,7 @@ class WorkerViewTests(LoggedInTestCase):
         self.assertEqual(response.status_code, 302)
 
         self.assertEqual(4, Worker.objects.all().count())
-        self.assertEqual(4, User.objects.all().count())
+        self.assertEqual(5, User.objects.all().count())
 
     def create_add_worker_form_data(self, language, location):
         form_data = self.get_form_data(Worker())
-- 
GitLab