Improve smart settings tests

Use a test namepsace instead of a real one.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2019-05-12 01:51:05 -04:00
parent 4617afafb2
commit 0d53e74238
4 changed files with 61 additions and 32 deletions

View File

@@ -2,3 +2,6 @@ from __future__ import unicode_literals
ENVIRONMENT_TEST_NAME = 'PAGINATE_BY'
ENVIRONMENT_TEST_VALUE = '999999'
TEST_NAMESPACE_LABEL = 'test namespace label'
TEST_NAMESPACE_NAME = 'test_namespace_name'

View File

@@ -0,0 +1,17 @@
from __future__ import absolute_import, unicode_literals
from ..classes import Namespace
from .literals import TEST_NAMESPACE_LABEL, TEST_NAMESPACE_NAME
class SmartSettingTestMixin(object):
def _create_test_settings_namespace(self):
try:
self.test_settings_namespace = Namespace.get(
name=TEST_NAMESPACE_NAME
)
except KeyError:
self.test_settings_namespace = Namespace(
label=TEST_NAMESPACE_LABEL, name=TEST_NAMESPACE_NAME
)

View File

@@ -1,32 +0,0 @@
from __future__ import absolute_import, unicode_literals
from mayan.apps.common.tests import GenericViewTestCase
from ..permissions import permission_settings_view
class SmartSettingViewPermissionsTestCase(GenericViewTestCase):
def setUp(self):
super(SmartSettingViewPermissionsTestCase, self).setUp()
self.login_user()
def test_view_access_denied(self):
response = self.get('settings:namespace_list')
self.assertEqual(response.status_code, 403)
response = self.get(
'settings:namespace_detail', args=('common',)
)
self.assertEqual(response.status_code, 403)
def test_view_access_permitted(self):
self.grant_permission(permission=permission_settings_view)
response = self.get('settings:namespace_list')
self.assertEqual(response.status_code, 200)
response = self.get(
'settings:namespace_detail', args=('common',)
)
self.assertEqual(response.status_code, 200)

View File

@@ -0,0 +1,41 @@
from __future__ import absolute_import, unicode_literals
from mayan.apps.common.tests import GenericViewTestCase
from ..permissions import permission_settings_view
from .mixins import SmartSettingTestMixin
class SmartSettingViewTestCase(SmartSettingTestMixin, GenericViewTestCase):
def setUp(self):
super(SmartSettingViewTestCase, self).setUp()
self._create_test_settings_namespace()
def _request_namespace_list_view(self):
return self.get(viewname='settings:namespace_list')
def _request_namespace_detail_view(self):
return self.get(
viewname='settings:namespace_detail', kwargs={
'namespace_name': self.test_settings_namespace.name
}
)
def test_namespace_list_view_no_permission(self):
response = self._request_namespace_list_view()
self.assertEqual(response.status_code, 403)
def test_namespace_detail_view_no_permission(self):
response = self._request_namespace_detail_view()
self.assertEqual(response.status_code, 403)
def test_namespace_list_view_with_permission(self):
self.grant_permission(permission=permission_settings_view)
response = self._request_namespace_list_view()
self.assertEqual(response.status_code, 200)
def test_namespace_detail_view_with_permission(self):
self.grant_permission(permission=permission_settings_view)
response = self._request_namespace_detail_view()
self.assertEqual(response.status_code, 200)