Add test for the document type quick label list view. Modernize the document type and quick label views tests.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2018-04-06 01:15:07 -04:00
parent 12a2d54f35
commit e525dfffcd

View File

@@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from ..literals import (
@@ -25,39 +23,25 @@ class DocumentTypeViewsTestCase(GenericDocumentViewTestCase):
def _request_document_type_create(self):
return self.post(
'documents:document_type_create',
viewname='documents:document_type_create',
data={
'label': TEST_DOCUMENT_TYPE_LABEL,
'delete_time_period': DEFAULT_DELETE_PERIOD,
'delete_time_unit': DEFAULT_DELETE_TIME_UNIT
}, follow=True
}
)
def test_document_type_create_view_no_permission(self):
self.document_type.delete()
self.assertEqual(Document.objects.count(), 0)
# Grant the document type view permission so that the post create
# redirect works
self.grant_permission(permission=permission_document_type_view)
self._request_document_type_create()
response = self._request_document_type_create()
self.assertEqual(response.status_code, 403)
self.assertEqual(DocumentType.objects.count(), 0)
def test_document_type_create_view_with_permission(self):
self.document_type.delete()
self.assertEqual(Document.objects.count(), 0)
self.grant_permission(permission=permission_document_type_create)
# Grant the document type view permission so that the post create
# redirect works
self.grant_permission(permission=permission_document_type_view)
response = self._request_document_type_create()
self.assertContains(response, text='successfully', status_code=200)
self.assertEqual(response.status_code, 302)
self.assertEqual(DocumentType.objects.count(), 1)
self.assertEqual(
@@ -66,79 +50,69 @@ class DocumentTypeViewsTestCase(GenericDocumentViewTestCase):
def _request_document_type_delete(self):
return self.post(
'documents:document_type_delete',
args=(self.document_type.pk,), follow=True
viewname='documents:document_type_delete',
args=(self.document_type.pk,)
)
def test_document_type_delete_view_no_permission(self):
# Grant the document type view permission so that the post delete
# redirect works
self.grant_permission(permission=permission_document_type_view)
self._request_document_type_delete()
response = self._request_document_type_delete()
self.assertEqual(response.status_code, 403)
self.assertEqual(DocumentType.objects.count(), 1)
def test_document_type_delete_view_with_access(self):
self.grant_access(
obj=self.document_type, permission=permission_document_type_delete
)
# Grant the document type view permission so that the post delete
# redirect works
self.grant_permission(permission=permission_document_type_view)
response = self._request_document_type_delete()
self.assertContains(response, 'successfully', status_code=200)
self.assertEqual(response.status_code, 302)
self.assertEqual(DocumentType.objects.count(), 0)
def _request_document_type_edit(self):
return self.post(
'documents:document_type_edit',
viewname='documents:document_type_edit',
args=(self.document_type.pk,),
data={
'label': TEST_DOCUMENT_TYPE_LABEL_EDITED,
'delete_time_period': DEFAULT_DELETE_PERIOD,
'delete_time_unit': DEFAULT_DELETE_TIME_UNIT
}, follow=True
}
)
def test_document_type_edit_view_no_permission(self):
self._request_document_type_edit()
response = self._request_document_type_edit()
self.assertEqual(response.status_code, 403)
self.document_type.refresh_from_db()
self.assertEqual(
DocumentType.objects.get(pk=self.document_type.pk).label,
TEST_DOCUMENT_TYPE_LABEL
self.document_type.label, TEST_DOCUMENT_TYPE_LABEL
)
def test_document_type_edit_view_with_access(self):
self.grant_access(
obj=self.document_type, permission=permission_document_type_edit
)
# Grant the document type view permission so that the post delete
# redirect works
self.grant_permission(permission=permission_document_type_view)
response = self._request_document_type_edit()
self.assertContains(response, 'successfully', status_code=200)
self.assertEqual(response.status_code, 302)
self.document_type.refresh_from_db()
self.assertEqual(
DocumentType.objects.get(pk=self.document_type.pk).label,
TEST_DOCUMENT_TYPE_LABEL_EDITED
self.document_type.label, TEST_DOCUMENT_TYPE_LABEL_EDITED
)
class DocumentTypeQuickLabelViewsTestCase(GenericDocumentViewTestCase):
def setUp(self):
super(DocumentTypeQuickLabelViewsTestCase, self).setUp()
self.login_user()
def _request_quick_label_create(self):
return self.post(
'documents:document_type_filename_create',
viewname='documents:document_type_filename_create',
args=(self.document_type.pk,),
data={
'filename': TEST_DOCUMENT_TYPE_QUICK_LABEL,
}
)
def test_document_type_quick_label_create_no_permission(self):
def test_document_type_quick_label_create_no_access(self):
self.grant_access(
obj=self.document_type, permission=permission_document_type_view
)
@@ -148,16 +122,12 @@ class DocumentTypeViewsTestCase(GenericDocumentViewTestCase):
self.assertEqual(self.document_type.filenames.count(), 0)
def test_document_type_quick_label_create_with_access(self):
self.grant_access(
obj=self.document_type, permission=permission_document_type_view
)
self.grant_access(
obj=self.document_type, permission=permission_document_type_edit
)
response = self._request_quick_label_create()
self.assertEqual(response.status_code, 302)
self.assertEqual(self.document_type.filenames.count(), 1)
def _create_quick_label(self):
@@ -165,23 +135,47 @@ class DocumentTypeViewsTestCase(GenericDocumentViewTestCase):
filename=TEST_DOCUMENT_TYPE_QUICK_LABEL
)
def _request_quick_label_delete(self):
return self.post(
viewname='documents:document_type_filename_delete',
args=(self.document_type_filename.pk,),
)
def test_document_type_quick_label_delete_no_access(self):
self._create_quick_label()
self._request_quick_label_delete()
self.assertEqual(
self.document_type.filenames.count(), 1
)
def test_document_type_quick_label_delete_with_access(self):
self.grant_access(
obj=self.document_type, permission=permission_document_type_edit
)
self._create_quick_label()
response = self._request_quick_label_delete()
self.assertEqual(response.status_code, 302)
self.assertEqual(
self.document_type.filenames.count(), 0
)
def _request_quick_label_edit(self):
return self.post(
'documents:document_type_filename_edit',
viewname='documents:document_type_filename_edit',
args=(self.document_type_filename.pk,),
data={
'filename': TEST_DOCUMENT_TYPE_QUICK_LABEL_EDITED,
}, follow=True
}
)
def test_document_type_quick_label_edit_no_permission(self):
def test_document_type_quick_label_edit_no_access(self):
self._create_quick_label()
self.grant_access(
obj=self.document_type, permission=permission_document_type_view
)
response = self._request_quick_label_edit()
self.assertEqual(response.status_code, 403)
self.document_type_filename.refresh_from_db()
self.assertEqual(
self.document_type_filename.filename,
TEST_DOCUMENT_TYPE_QUICK_LABEL
@@ -191,13 +185,10 @@ class DocumentTypeViewsTestCase(GenericDocumentViewTestCase):
self.grant_access(
obj=self.document_type, permission=permission_document_type_edit
)
self.grant_access(
obj=self.document_type, permission=permission_document_type_view
)
self._create_quick_label()
response = self._request_quick_label_edit()
self.assertEqual(response.status_code, 200)
self.assertEqual(response.status_code, 302)
self.document_type_filename.refresh_from_db()
self.assertEqual(
@@ -205,40 +196,23 @@ class DocumentTypeViewsTestCase(GenericDocumentViewTestCase):
TEST_DOCUMENT_TYPE_QUICK_LABEL_EDITED
)
def _request_quick_label_delete(self):
return self.post(
'documents:document_type_filename_delete',
def _request_quick_label_list_view(self):
return self.get(
viewname='documents:document_type_filename_list',
args=(self.document_type_filename.pk,),
follow=True
)
def test_document_type_quick_label_delete_no_permission(self):
def test_document_type_quick_label_list_no_access(self):
self._create_quick_label()
response = self._request_quick_label_list_view()
self.assertEqual(response.status_code, 403)
def test_document_type_quick_label_list_with_access(self):
self._create_quick_label()
self.grant_access(
obj=self.document_type, permission=permission_document_type_view
)
self._request_quick_label_delete()
self.assertEqual(
self.document_type.filenames.count(), 1
)
self.assertEqual(
self.document_type.filenames.first().filename,
TEST_DOCUMENT_TYPE_QUICK_LABEL
)
def test_document_type_quick_label_delete_with_access(self):
self.grant_access(
obj=self.document_type, permission=permission_document_type_edit
)
self.grant_access(
obj=self.document_type, permission=permission_document_type_view
)
self._create_quick_label()
response = self._request_quick_label_delete()
self.assertEqual(response.status_code, 200)
self.assertEqual(
self.document_type.filenames.count(), 0
response = self._request_quick_label_list_view()
self.assertContains(response, text=self.document_type_filename,
status_code=200
)