Add document checkout view get test
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
@@ -74,7 +74,14 @@ class DocumentCheckoutViewTestMixin(object):
|
||||
def _request_test_document_check_out_list_view(self):
|
||||
return self.get(viewname='checkouts:check_out_list')
|
||||
|
||||
def _request_test_document_check_out_view(self):
|
||||
def _request_test_document_check_out_get_view(self):
|
||||
return self.get(
|
||||
viewname='checkouts:check_out_document', kwargs={
|
||||
'pk': self.test_document.pk
|
||||
},
|
||||
)
|
||||
|
||||
def _request_test_document_check_out_post_view(self):
|
||||
return self.post(
|
||||
viewname='checkouts:check_out_document', kwargs={
|
||||
'pk': self.test_document.pk
|
||||
|
||||
@@ -67,13 +67,29 @@ class DocumentCheckoutViewTestCase(
|
||||
)
|
||||
)
|
||||
|
||||
def test_document_check_out_view_no_permission(self):
|
||||
response = self._request_test_document_check_out_view()
|
||||
def test_document_check_out_get_view_no_permission(self):
|
||||
response = self._request_test_document_check_out_get_view()
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
self.assertFalse(self.test_document.is_checked_out())
|
||||
|
||||
def test_document_check_out_view_with_access(self):
|
||||
def test_document_check_out_get_view_with_access(self):
|
||||
self.grant_access(
|
||||
obj=self.test_document, permission=permission_document_check_out
|
||||
)
|
||||
|
||||
response = self._request_test_document_check_out_get_view()
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
self.assertFalse(self.test_document.is_checked_out())
|
||||
|
||||
def test_document_check_out_post_view_no_permission(self):
|
||||
response = self._request_test_document_check_out_post_view()
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
self.assertFalse(self.test_document.is_checked_out())
|
||||
|
||||
def test_document_check_out_post_view_with_access(self):
|
||||
self.grant_access(
|
||||
obj=self.test_document, permission=permission_document_check_out
|
||||
)
|
||||
@@ -82,7 +98,7 @@ class DocumentCheckoutViewTestCase(
|
||||
permission=permission_document_check_out_detail_view
|
||||
)
|
||||
|
||||
response = self._request_test_document_check_out_view()
|
||||
response = self._request_test_document_check_out_post_view()
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
self.assertTrue(self.test_document.is_checked_out())
|
||||
|
||||
@@ -288,3 +288,218 @@ class SignaturesViewTestCase(
|
||||
EmbeddedSignature.objects.unsigned_document_versions().count(),
|
||||
TEST_UNSIGNED_DOCUMENT_COUNT
|
||||
)
|
||||
|
||||
|
||||
class DetachedSignaturesViewTestCase(
|
||||
KeyTestMixin, SignatureTestMixin, DetachedSignatureViewTestMixin,
|
||||
GenericDocumentViewTestCase
|
||||
):
|
||||
auto_upload_document = False
|
||||
|
||||
def test_detached_signature_create_view_with_no_permission(self):
|
||||
self.upload_document()
|
||||
self._create_test_key_private()
|
||||
|
||||
signatures = self.test_document.latest_version.signatures.count()
|
||||
|
||||
response = self._request_test_document_version_signature_create_view()
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
self.assertEqual(
|
||||
self.test_document.latest_version.signatures.count(),
|
||||
signatures
|
||||
)
|
||||
|
||||
def test_detached_signature_create_view_with_document_access(self):
|
||||
self.upload_document()
|
||||
self._create_test_key_private()
|
||||
|
||||
signatures = self.test_document.latest_version.signatures.count()
|
||||
|
||||
self.grant_access(
|
||||
obj=self.test_document,
|
||||
permission=permission_document_version_sign_detached
|
||||
)
|
||||
|
||||
response = self._request_test_document_version_signature_create_view()
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
self.assertEqual(
|
||||
self.test_document.latest_version.signatures.count(),
|
||||
signatures
|
||||
)
|
||||
|
||||
def test_detached_signature_create_view_with_key_access(self):
|
||||
self.upload_document()
|
||||
self._create_test_key_private()
|
||||
|
||||
signatures = self.test_document.latest_version.signatures.count()
|
||||
|
||||
self.grant_access(
|
||||
obj=self.test_key_private,
|
||||
permission=permission_key_sign
|
||||
)
|
||||
|
||||
response = self._request_test_document_version_signature_create_view()
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
self.assertEqual(
|
||||
self.test_document.latest_version.signatures.count(),
|
||||
signatures
|
||||
)
|
||||
|
||||
def test_detached_signature_create_view_with_full_access(self):
|
||||
self.upload_document()
|
||||
self._create_test_key_private()
|
||||
|
||||
signatures = self.test_document.latest_version.signatures.count()
|
||||
|
||||
self.grant_access(
|
||||
obj=self.test_document,
|
||||
permission=permission_document_version_sign_detached
|
||||
)
|
||||
self.grant_access(
|
||||
obj=self.test_key_private,
|
||||
permission=permission_key_sign
|
||||
)
|
||||
|
||||
response = self._request_test_document_version_signature_create_view()
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
self.assertEqual(
|
||||
self.test_document.latest_version.signatures.count(),
|
||||
signatures + 1
|
||||
)
|
||||
|
||||
def test_signature_download_view_no_permission(self):
|
||||
self.test_document_path = TEST_DOCUMENT_PATH
|
||||
self.upload_document()
|
||||
|
||||
self._create_test_detached_signature()
|
||||
|
||||
response = self._request_test_document_version_signature_download_view()
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
def test_signature_download_view_with_access(self):
|
||||
self.test_document_path = TEST_DOCUMENT_PATH
|
||||
self.upload_document()
|
||||
|
||||
self._create_test_detached_signature()
|
||||
|
||||
self.grant_access(
|
||||
obj=self.test_document,
|
||||
permission=permission_document_version_signature_download
|
||||
)
|
||||
|
||||
self.expected_content_types = ('application/octet-stream; charset=utf-8',)
|
||||
|
||||
response = self._request_test_document_version_signature_download_view()
|
||||
|
||||
with self.test_signature.signature_file as file_object:
|
||||
assert_download_response(
|
||||
self, response=response, content=file_object.read(),
|
||||
)
|
||||
|
||||
def test_signature_upload_view_no_permission(self):
|
||||
self.test_document_path = TEST_DOCUMENT_PATH
|
||||
self.upload_document()
|
||||
|
||||
response = self._request_test_document_version_signature_upload_view()
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
self.assertEqual(DetachedSignature.objects.count(), 0)
|
||||
|
||||
def test_signature_upload_view_with_access(self):
|
||||
self.test_document_path = TEST_DOCUMENT_PATH
|
||||
self.upload_document()
|
||||
|
||||
self.grant_access(
|
||||
obj=self.test_document,
|
||||
permission=permission_document_version_signature_upload
|
||||
)
|
||||
|
||||
response = self._request_test_document_version_signature_upload_view()
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
self.assertEqual(DetachedSignature.objects.count(), 1)
|
||||
|
||||
|
||||
class EmbeddedSignaturesViewTestCase(
|
||||
KeyTestMixin, EmbeddedSignatureViewTestMixin, GenericDocumentViewTestCase
|
||||
):
|
||||
auto_upload_document = False
|
||||
|
||||
def test_embedded_signature_create_view_with_no_permission(self):
|
||||
self.upload_document()
|
||||
self._create_test_key_private()
|
||||
|
||||
signatures = self.test_document.latest_version.signatures.count()
|
||||
|
||||
response = self._request_test_document_version_signature_create_view()
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
self.assertEqual(
|
||||
self.test_document.latest_version.signatures.count(),
|
||||
signatures
|
||||
)
|
||||
|
||||
def test_embedded_signature_create_view_with_document_access(self):
|
||||
self.upload_document()
|
||||
self._create_test_key_private()
|
||||
|
||||
signatures = self.test_document.latest_version.signatures.count()
|
||||
|
||||
self.grant_access(
|
||||
obj=self.test_document,
|
||||
permission=permission_document_version_sign_embedded
|
||||
)
|
||||
|
||||
response = self._request_test_document_version_signature_create_view()
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
self.assertEqual(
|
||||
self.test_document.latest_version.signatures.count(),
|
||||
signatures
|
||||
)
|
||||
|
||||
def test_embedded_signature_create_view_with_key_access(self):
|
||||
self.upload_document()
|
||||
self._create_test_key_private()
|
||||
|
||||
signatures = self.test_document.latest_version.signatures.count()
|
||||
|
||||
self.grant_access(
|
||||
obj=self.test_key_private,
|
||||
permission=permission_key_sign
|
||||
)
|
||||
|
||||
response = self._request_test_document_version_signature_create_view()
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
self.assertEqual(
|
||||
self.test_document.latest_version.signatures.count(),
|
||||
signatures
|
||||
)
|
||||
|
||||
def test_embedded_signature_create_view_with_full_access(self):
|
||||
self.upload_document()
|
||||
self._create_test_key_private()
|
||||
|
||||
signatures = self.test_document.latest_version.signatures.count()
|
||||
|
||||
self.grant_access(
|
||||
obj=self.test_document,
|
||||
permission=permission_document_version_sign_embedded
|
||||
)
|
||||
self.grant_access(
|
||||
obj=self.test_key_private,
|
||||
permission=permission_key_sign
|
||||
)
|
||||
|
||||
response = self._request_test_document_version_signature_create_view()
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
self.assertEqual(
|
||||
self.test_document.latest_version.signatures.count(),
|
||||
signatures + 1
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user