Add document type change API endpoint
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
@@ -22,7 +22,7 @@ from ..permissions import (
|
||||
|
||||
from .literals import (
|
||||
TEST_DOCUMENT_DESCRIPTION_EDITED, TEST_PDF_DOCUMENT_FILENAME,
|
||||
TEST_DOCUMENT_PATH, TEST_DOCUMENT_TYPE_LABEL,
|
||||
TEST_DOCUMENT_PATH, TEST_DOCUMENT_TYPE_LABEL, TEST_DOCUMENT_TYPE_2_LABEL,
|
||||
TEST_DOCUMENT_TYPE_LABEL_EDITED, TEST_DOCUMENT_VERSION_COMMENT_EDITED,
|
||||
TEST_SMALL_DOCUMENT_FILENAME
|
||||
)
|
||||
@@ -184,6 +184,13 @@ class DocumentAPIViewTestMixin(object):
|
||||
}, data={'description': TEST_DOCUMENT_DESCRIPTION_EDITED}
|
||||
)
|
||||
|
||||
def _request_test_document_document_type_change_api_view(self):
|
||||
return self.post(
|
||||
viewname='rest_api:document-type-change', kwargs={
|
||||
'pk': self.test_document.pk
|
||||
}, data={'new_document_type': self.test_document_type_2.pk}
|
||||
)
|
||||
|
||||
|
||||
class DocumentAPIViewTestCase(
|
||||
DocumentAPIViewTestMixin, DocumentTestMixin, BaseAPITestCase
|
||||
@@ -254,6 +261,40 @@ class DocumentAPIViewTestCase(
|
||||
)
|
||||
self.assertEqual(document.page_count, 47)
|
||||
|
||||
def test_document_document_type_change_api_via_no_permission(self):
|
||||
self.upload_document()
|
||||
self.test_document_type_2 = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE_2_LABEL
|
||||
)
|
||||
|
||||
response = self._request_test_document_document_type_change_api_view()
|
||||
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
|
||||
|
||||
self.test_document.refresh_from_db()
|
||||
self.assertEqual(
|
||||
self.test_document.document_type,
|
||||
self.test_document_type
|
||||
)
|
||||
|
||||
def test_document_document_type_change_api_via_with_access(self):
|
||||
self.upload_document()
|
||||
self.grant_access(
|
||||
obj=self.test_document,
|
||||
permission=permission_document_properties_edit
|
||||
)
|
||||
self.test_document_type_2 = DocumentType.objects.create(
|
||||
label=TEST_DOCUMENT_TYPE_2_LABEL
|
||||
)
|
||||
|
||||
response = self._request_test_document_document_type_change_api_view()
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
self.test_document.refresh_from_db()
|
||||
self.assertEqual(
|
||||
self.test_document.document_type,
|
||||
self.test_document_type_2
|
||||
)
|
||||
|
||||
def test_document_description_api_edit_via_patch_view_no_permission(self):
|
||||
self.upload_document()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user