From 90a1ecb826c0cbdaa8b1ababd451473f41af5531 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 15 Oct 2015 19:37:04 -0400 Subject: [PATCH] Add permissions app views tests. --- mayan/apps/permissions/tests/literals.py | 3 +- mayan/apps/permissions/tests/test_models.py | 8 ++- mayan/apps/permissions/tests/test_views.py | 75 +++++++++++++++++++++ 3 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 mayan/apps/permissions/tests/test_views.py diff --git a/mayan/apps/permissions/tests/literals.py b/mayan/apps/permissions/tests/literals.py index 41237867b9..fa85c2f898 100644 --- a/mayan/apps/permissions/tests/literals.py +++ b/mayan/apps/permissions/tests/literals.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals TEST_GROUP = 'test group' -TEST_ROLE = 'test role' +TEST_ROLE_LABEL = 'test role' +TEST_ROLE_LABEL_EDITED = 'test role label edited' TEST_USER_USERNAME = 'test user' TEST_USER_PASSWORD = 'test password' diff --git a/mayan/apps/permissions/tests/test_models.py b/mayan/apps/permissions/tests/test_models.py index 68f8ae85e7..c2fbaea6ed 100644 --- a/mayan/apps/permissions/tests/test_models.py +++ b/mayan/apps/permissions/tests/test_models.py @@ -9,14 +9,16 @@ from ..classes import Permission from ..models import Role from ..permissions import permission_role_view -from .literals import TEST_GROUP, TEST_ROLE, TEST_USER_USERNAME +from .literals import TEST_GROUP, TEST_ROLE_LABEL, TEST_USER_USERNAME class PermissionTestCase(TestCase): def setUp(self): - self.user = get_user_model().objects.create(username=TEST_USER_USERNAME) + self.user = get_user_model().objects.create( + username=TEST_USER_USERNAME + ) self.group = Group.objects.create(name=TEST_GROUP) - self.role = Role.objects.create(label=TEST_ROLE) + self.role = Role.objects.create(label=TEST_ROLE_LABEL) Permission.invalidate_cache() def tearDown(self): diff --git a/mayan/apps/permissions/tests/test_views.py b/mayan/apps/permissions/tests/test_views.py new file mode 100644 index 0000000000..2583e992f8 --- /dev/null +++ b/mayan/apps/permissions/tests/test_views.py @@ -0,0 +1,75 @@ +from __future__ import unicode_literals + +from django.contrib.auth import get_user_model +from django.core.urlresolvers import reverse +from django.test.client import Client +from django.test import TestCase + +from documents.tests.literals import ( + TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, TEST_ADMIN_EMAIL +) + +from ..models import Role + +from .literals import TEST_ROLE_LABEL, TEST_ROLE_LABEL_EDITED + + +class PermissionsViewsTestCase(TestCase): + def setUp(self): + self.admin_user = get_user_model().objects.create_superuser( + username=TEST_ADMIN_USERNAME, email=TEST_ADMIN_EMAIL, + password=TEST_ADMIN_PASSWORD + ) + self.client = Client() + # Login the admin user + logged_in = self.client.login( + username=TEST_ADMIN_USERNAME, password=TEST_ADMIN_PASSWORD + ) + self.assertTrue(logged_in) + self.assertTrue(self.admin_user.is_authenticated()) + + def tearDown(self): + self.admin_user.delete() + + def test_role_creation_view(self): + response = self.client.post( + reverse( + 'permissions:role_create', + ), data={ + 'label': TEST_ROLE_LABEL, + }, follow=True + ) + + self.assertContains(response, 'created', status_code=200) + + self.assertEqual(Role.objects.count(), 1) + self.assertEqual(Role.objects.first().label, TEST_ROLE_LABEL) + + def test_role_delete_view(self): + role = Role.objects.create(label=TEST_ROLE_LABEL) + + response = self.client.post( + reverse( + 'permissions:role_delete', args=(role.pk,), + ), follow=True + ) + + self.assertContains(response, 'deleted', status_code=200) + + self.assertEqual(Role.objects.count(), 0) + + def test_role_edit_view(self): + role = Role.objects.create(label=TEST_ROLE_LABEL) + + response = self.client.post( + reverse( + 'permissions:role_edit', args=(role.pk,), + ), data={ + 'label': TEST_ROLE_LABEL_EDITED, + }, follow=True + ) + + self.assertContains(response, 'saved', status_code=200) + + self.assertEqual(Role.objects.count(), 1) + self.assertEqual(Role.objects.first().label, TEST_ROLE_LABEL_EDITED)