Add document page append view tests

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-10-11 10:10:04 -04:00
parent 01e79b1089
commit f10cc89847
3 changed files with 51 additions and 7 deletions

View File

@@ -6,7 +6,9 @@ import shutil
from mayan.apps.checkouts.models import NewVersionBlock
from mayan.apps.common.tests.base import GenericViewTestCase
from mayan.apps.documents.models import Document
from mayan.apps.documents.permissions import permission_document_create
from mayan.apps.documents.permissions import (
permission_document_create, permission_document_new_version
)
from mayan.apps.documents.tests.base import GenericDocumentViewTestCase
from mayan.apps.documents.tests.literals import (
TEST_COMPRESSED_DOCUMENT_PATH, TEST_DOCUMENT_DESCRIPTION,
@@ -28,6 +30,44 @@ from .literals import (
from .mixins import SourceTestMixin, SourceViewTestMixin
class DocumentViewTestMixin(object):
def _request_test_document_append_pages_view(self):
with open(TEST_SMALL_DOCUMENT_PATH, mode='rb') as file_object:
return self.post(
viewname='sources:document_pages_append', kwargs={
'document_pk': self.test_document.pk
}, data={
'source-file': file_object,
'document-append_pages': True, # Needs to be explicit
},
)
class DocumentViewTestCase(
SourceTestMixin, DocumentViewTestMixin, GenericDocumentViewTestCase
):
def test_document_append_pages_view_no_permission(self):
page_count = self.test_document.pages.count()
response = self._request_test_document_append_pages_view()
self.assertEqual(response.status_code, 403)
self.assertEqual(self.test_document.pages.count(), page_count)
def test_document_append_pages_view_with_access(self):
page_count = self.test_document.pages.count()
self.grant_access(
obj=self.test_document,
permission=permission_document_new_version
)
response = self._request_test_document_append_pages_view()
self.assertEqual(response.status_code, 302)
self.assertTrue(self.test_document.pages.count() > page_count)
class DocumentUploadWizardViewTestMixin(object):
def _request_upload_wizard_view(self, document_path=TEST_SMALL_DOCUMENT_PATH):
with open(document_path, mode='rb') as file_object:
@@ -54,10 +94,6 @@ class DocumentUploadWizardViewTestCase(
):
auto_upload_document = False
def setUp(self):
super(DocumentUploadWizardViewTestCase, self).setUp()
self._create_test_source()
def test_upload_compressed_file(self):
self.test_source.uncompress = SOURCE_UNCOMPRESS_CHOICE_Y
self.test_source.save()
@@ -188,7 +224,7 @@ class DocumentUploadIssueTestCase(GenericDocumentViewTestCase):
self.assertEqual(document.description, TEST_DOCUMENT_DESCRIPTION)
class NewDocumentVersionViewTestCase(GenericDocumentViewTestCase):
class DocumentVersionUploadViewTestCase(GenericDocumentViewTestCase):
auto_login_superuser = True
auto_login_user = False
create_test_case_superuser = True
@@ -300,6 +336,8 @@ class StagingFolderViewTestCase(
class SourcesViewTestCase(
SourceTestMixin, SourceViewTestMixin, GenericViewTestCase
):
auto_create_test_source = False
def test_source_create_view_no_permission(self):
response = self._request_setup_source_create_view()
self.assertEqual(response.status_code, 403)