Add error log list view tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
@@ -2,19 +2,26 @@ from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.conf.urls import url
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.http import HttpResponse
|
||||
from django.template import Context, Template
|
||||
from django.test.utils import ContextList
|
||||
from django.urls import clear_url_caches, reverse
|
||||
|
||||
from acls import ModelPermission
|
||||
from user_management.tests import (
|
||||
TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, TEST_USER_USERNAME,
|
||||
TEST_USER_PASSWORD
|
||||
)
|
||||
|
||||
from ..models import ErrorLogEntry
|
||||
from ..permissions_runtime import permission_error_log_view
|
||||
|
||||
from .base import BaseTestCase
|
||||
from .literals import TEST_VIEW_NAME, TEST_VIEW_URL
|
||||
|
||||
TEST_ERROR_LOG_ENTRY_RESULT = 'test_error_log_entry_result_text'
|
||||
|
||||
|
||||
class GenericViewTestCase(BaseTestCase):
|
||||
def setUp(self):
|
||||
@@ -94,7 +101,55 @@ class GenericViewTestCase(BaseTestCase):
|
||||
|
||||
class CommonViewTestCase(GenericViewTestCase):
|
||||
def test_about_view(self):
|
||||
self.login(username=TEST_USER_USERNAME, password=TEST_USER_PASSWORD)
|
||||
self.login_user()
|
||||
|
||||
response = self.get('common:about_view')
|
||||
self.assertContains(response, text='About', status_code=200)
|
||||
|
||||
def _create_error_log_entry(self):
|
||||
ModelPermission.register(
|
||||
model=get_user_model(), permissions=(permission_error_log_view,)
|
||||
)
|
||||
ErrorLogEntry.objects.register(model=get_user_model())
|
||||
|
||||
self.error_log_entry = self.user.error_logs.create(
|
||||
result=TEST_ERROR_LOG_ENTRY_RESULT
|
||||
)
|
||||
|
||||
def _request_object_error_log_list(self):
|
||||
content_type = ContentType.objects.get_for_model(model=self.user)
|
||||
|
||||
return self.get(
|
||||
'common:object_error_list', kwargs={
|
||||
'app_label': content_type.app_label,
|
||||
'model': content_type.model,
|
||||
'object_id': self.user.pk
|
||||
}, follow=True
|
||||
)
|
||||
|
||||
def test_object_error_list_view_with_permissions(self):
|
||||
self._create_error_log_entry()
|
||||
|
||||
self.login_user()
|
||||
self.grant_access(
|
||||
obj=self.user, permission=permission_error_log_view
|
||||
)
|
||||
|
||||
response = self._request_object_error_log_list()
|
||||
|
||||
self.assertContains(
|
||||
response=response, text=TEST_ERROR_LOG_ENTRY_RESULT,
|
||||
status_code=200
|
||||
)
|
||||
|
||||
def test_object_error_list_view_no_permissions(self):
|
||||
self._create_error_log_entry()
|
||||
|
||||
self.login_user()
|
||||
|
||||
response = self._request_object_error_log_list()
|
||||
|
||||
self.assertNotContains(
|
||||
response=response, text=TEST_ERROR_LOG_ENTRY_RESULT,
|
||||
status_code=403
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user