Add API test for document version comment editing via PUT and PATCH.
GitLab issue #348.
This commit is contained in:
@@ -16,6 +16,7 @@ __all__ = (
|
||||
'TEST_NON_ASCII_COMPRESSED_DOCUMENT_PATH',
|
||||
'TEST_NON_ASCII_DOCUMENT_FILENAME', 'TEST_NON_ASCII_DOCUMENT_PATH',
|
||||
'TEST_SMALL_DOCUMENT_FILENAME', 'TEST_SMALL_DOCUMENT_PATH',
|
||||
'TEST_DOCUMENT_VERSION_COMMENT_EDITED',
|
||||
)
|
||||
|
||||
# Filenames
|
||||
@@ -25,6 +26,7 @@ TEST_DOCUMENT_DESCRIPTION = 'test description'
|
||||
TEST_DOCUMENT_FILENAME = 'mayan_11_1.pdf'
|
||||
TEST_DOCUMENT_TYPE = 'test_document_type'
|
||||
TEST_DOCUMENT_TYPE_2 = 'test document type 2'
|
||||
TEST_DOCUMENT_VERSION_COMMENT_EDITED = 'test document version comment edited'
|
||||
TEST_HYBRID_DOCUMENT = 'hybrid_text_and_image.pdf'
|
||||
TEST_MULTI_PAGE_TIFF = 'multi_page.tiff'
|
||||
TEST_NON_ASCII_COMPRESSED_DOCUMENT_FILENAME = 'I18N_title_áéíóúüñÑ.png.zip'
|
||||
|
||||
@@ -22,6 +22,7 @@ from user_management.tests.literals import (
|
||||
from .literals import (
|
||||
TEST_DOCUMENT_FILENAME, TEST_DOCUMENT_PATH, TEST_DOCUMENT_TYPE,
|
||||
TEST_SMALL_DOCUMENT_CHECKSUM, TEST_SMALL_DOCUMENT_PATH,
|
||||
TEST_DOCUMENT_VERSION_COMMENT_EDITED
|
||||
)
|
||||
from ..models import Document, DocumentType, HASH_FUNCTION
|
||||
|
||||
@@ -114,6 +115,12 @@ class DocumentAPITestCase(APITestCase):
|
||||
self.admin_user.delete()
|
||||
self.document_type.delete()
|
||||
|
||||
def _upload_document(self):
|
||||
with open(TEST_SMALL_DOCUMENT_PATH) as file_object:
|
||||
self.document = self.document_type.new_document(
|
||||
file_object=file_object,
|
||||
)
|
||||
|
||||
def test_document_upload(self):
|
||||
with open(TEST_DOCUMENT_PATH) as file_descriptor:
|
||||
response = self.client.post(
|
||||
@@ -293,5 +300,37 @@ class DocumentAPITestCase(APITestCase):
|
||||
|
||||
del(buf)
|
||||
|
||||
def _edit_document_version(self):
|
||||
return self.client.patch(
|
||||
reverse(
|
||||
'rest_api:documentversion-detail',
|
||||
args=(self.document.latest_version.pk,)
|
||||
), data={'comment': TEST_DOCUMENT_VERSION_COMMENT_EDITED}
|
||||
)
|
||||
|
||||
def test_document_version_edit_via_patch(self):
|
||||
self._upload_document()
|
||||
response = self._edit_document_version()
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.document.latest_version.refresh_from_db()
|
||||
self.assertEqual(self.document.versions.count(), 1)
|
||||
self.assertEqual(
|
||||
self.document.latest_version.comment,
|
||||
TEST_DOCUMENT_VERSION_COMMENT_EDITED
|
||||
)
|
||||
|
||||
def test_document_version_edit_via_put(self):
|
||||
self._upload_document()
|
||||
response = self._edit_document_version()
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.document.latest_version.refresh_from_db()
|
||||
self.assertEqual(self.document.versions.count(), 1)
|
||||
self.assertEqual(
|
||||
self.document.latest_version.comment,
|
||||
TEST_DOCUMENT_VERSION_COMMENT_EDITED
|
||||
)
|
||||
|
||||
# TODO: def test_document_set_document_type(self):
|
||||
# pass
|
||||
|
||||
Reference in New Issue
Block a user