Repurpose the source app upload test with metadata as a metadata wizard step test.

Signed-off-by: Michael Price <loneviking72@gmail.com>
This commit is contained in:
Michael Price
2018-03-19 17:13:09 -04:00
committed by Roberto Rosario
parent e9a365333f
commit 31c9282d87
3 changed files with 62 additions and 43 deletions

View File

@@ -3,7 +3,6 @@ from __future__ import unicode_literals
from furl import furl
from django.shortcuts import get_object_or_404
from django.utils.encoding import force_text
from django.utils.six.moves.urllib.parse import unquote_plus
from .models import DocumentMetadata, MetadataType

View File

@@ -0,0 +1,62 @@
from __future__ import unicode_literals
from furl import furl
from django.urls import reverse
from documents.models import Document
from documents.permissions import permission_document_create
from documents.tests import (
GenericDocumentViewTestCase, TEST_SMALL_DOCUMENT_PATH,
)
from metadata.tests.literals import TEST_METADATA_VALUE_UNICODE
from metadata.tests.mixins import MetadataTypeMixin
from sources.models import WebFormSource
from sources.tests.literals import (
TEST_SOURCE_LABEL, TEST_SOURCE_UNCOMPRESS_N,
)
class DocumentUploadMetadataTestCase(MetadataTypeMixin, GenericDocumentViewTestCase):
def setUp(self):
super(DocumentUploadMetadataTestCase, self).setUp()
self.login_user()
self.source = WebFormSource.objects.create(
enabled=True, label=TEST_SOURCE_LABEL,
uncompress=TEST_SOURCE_UNCOMPRESS_N
)
self.document.delete()
self.document_type.metadata.create(
metadata_type=self.metadata_type, required=True
)
def tearDown(self):
self.document_type.delete()
super(DocumentUploadMetadataTestCase, self).tearDown()
def test_unicode_interactive_with_unicode_metadata(self):
url = furl(reverse('sources:upload_interactive'))
url.args['metadata0_id'] = self.metadata_type.pk
url.args['metadata0_value'] = TEST_METADATA_VALUE_UNICODE
self.grant_access(
permission=permission_document_create, obj=self.document_type
)
# Upload the test document
with open(TEST_SMALL_DOCUMENT_PATH) as file_descriptor:
response = self.post(
path=url, data={
'document-language': 'eng', 'source-file': file_descriptor,
'document_type_id': self.document_type.pk,
}
)
self.assertEqual(response.status_code, 302)
self.assertEqual(Document.objects.count(), 1)
self.assertEqual(
Document.objects.first().metadata.first().value,
TEST_METADATA_VALUE_UNICODE
)

View File

@@ -3,10 +3,7 @@ from __future__ import unicode_literals
import os
import shutil
from furl import furl
from django.test import override_settings
from django.urls import reverse
from checkouts.models import NewVersionBlock
from common.tests import GenericViewTestCase
@@ -18,8 +15,6 @@ from documents.tests import (
TEST_DOCUMENT_TYPE_LABEL, TEST_SMALL_DOCUMENT_CHECKSUM,
TEST_SMALL_DOCUMENT_PATH,
)
from metadata.tests.literals import TEST_METADATA_VALUE_UNICODE
from metadata.tests.mixins import MetadataTypeMixin
from ..links import link_upload_version
from ..literals import SOURCE_CHOICE_WEB_FORM
@@ -124,43 +119,6 @@ class DocumentUploadTestCase(GenericDocumentViewTestCase):
)
class DocumentUploadMetadataTestCase(MetadataTypeMixin, GenericDocumentViewTestCase):
def setUp(self):
super(DocumentUploadMetadataTestCase, self).setUp()
self.source = WebFormSource.objects.create(
enabled=True, label=TEST_SOURCE_LABEL,
uncompress=TEST_SOURCE_UNCOMPRESS_N
)
self.document.delete()
self.document_type.metadata.create(
metadata_type=self.metadata_type, required=True
)
def test_unicode_interactive_with_unicode_metadata(self):
self.login_admin_user()
url = furl(reverse('sources:upload_interactive'))
url.args['metadata0_id'] = self.metadata_type.pk
url.args['metadata0_value'] = TEST_METADATA_VALUE_UNICODE
# Upload the test document
with open(TEST_SMALL_DOCUMENT_PATH) as file_descriptor:
response = self.post(
path=url, data={
'document-language': 'eng', 'source-file': file_descriptor,
'document_type_id': self.document_type.pk,
}
)
self.assertEqual(response.status_code, 302)
self.assertEqual(Document.objects.count(), 1)
self.assertEqual(
Document.objects.first().metadata.first().value,
TEST_METADATA_VALUE_UNICODE
)
@override_settings(OCR_AUTO_OCR=False)
class DocumentUploadIssueTestCase(GenericViewTestCase):
def setUp(self):