Add additional tests.
This commit is contained in:
4
mayan/apps/converter/tests/literals.py
Normal file
4
mayan/apps/converter/tests/literals.py
Normal file
@@ -0,0 +1,4 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
TEST_TRANSFORMATION_NAME = 'rotate'
|
||||
TEST_TRANSFORMATION_ARGUMENT = 'degrees: 180'
|
||||
93
mayan/apps/converter/tests/test_views.py
Normal file
93
mayan/apps/converter/tests/test_views.py
Normal file
@@ -0,0 +1,93 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
|
||||
from converter.models import Transformation
|
||||
from converter.permissions import permission_transformation_delete
|
||||
from documents.tests.test_views import GenericDocumentViewTestCase
|
||||
|
||||
from ..models import Transformation
|
||||
from ..permissions import (
|
||||
permission_transformation_create, permission_transformation_view
|
||||
)
|
||||
|
||||
from .literals import TEST_TRANSFORMATION_NAME, TEST_TRANSFORMATION_ARGUMENT
|
||||
|
||||
|
||||
class TransformationViewsTestCase(GenericDocumentViewTestCase):
|
||||
def setUp(self):
|
||||
super(TransformationViewsTestCase, self).setUp()
|
||||
self.login_user()
|
||||
|
||||
def _transformation_list_view(self):
|
||||
return self.get(
|
||||
'converter:transformation_list', kwargs={
|
||||
'app_label': 'documents', 'model': 'document',
|
||||
'object_id': self.document.pk
|
||||
}
|
||||
)
|
||||
|
||||
def test_transformation_list_view_no_permissions(self):
|
||||
response = self._transformation_list_view()
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
def test_transformation_list_view_with_permissions(self):
|
||||
self.grant(permission=permission_transformation_view)
|
||||
response = self._transformation_list_view()
|
||||
|
||||
self.assertContains(
|
||||
response, text=self.document.label, status_code=200
|
||||
)
|
||||
|
||||
def _transformation_create_view(self):
|
||||
return self.post(
|
||||
'converter:transformation_create', kwargs={
|
||||
'app_label': 'documents', 'model': 'document',
|
||||
'object_id': self.document.pk
|
||||
}, data={
|
||||
'name':TEST_TRANSFORMATION_NAME,
|
||||
'arguments': TEST_TRANSFORMATION_ARGUMENT
|
||||
}
|
||||
)
|
||||
|
||||
def test_transformation_create_view_no_permissions(self):
|
||||
response = self._transformation_create_view()
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertEqual(Transformation.objects.count(), 0)
|
||||
|
||||
def test_transformation_create_view_with_permissions(self):
|
||||
self.grant(permission=permission_transformation_create)
|
||||
response = self._transformation_create_view()
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertEqual(Transformation.objects.count(), 1)
|
||||
|
||||
def _transformation_delete_view(self):
|
||||
content_type = ContentType.objects.get_for_model(model=self.document)
|
||||
|
||||
transformation = Transformation.objects.create(
|
||||
content_type=content_type, object_id=self.document.pk,
|
||||
name=TEST_TRANSFORMATION_NAME,
|
||||
arguments=TEST_TRANSFORMATION_ARGUMENT
|
||||
)
|
||||
|
||||
return self.post(
|
||||
'converter:transformation_delete', kwargs={
|
||||
'pk': transformation.pk
|
||||
}
|
||||
)
|
||||
|
||||
def test_transformation_delete_view_no_permissions(self):
|
||||
response = self._transformation_delete_view()
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
self.assertEqual(Transformation.objects.count(), 1)
|
||||
|
||||
def test_transformation_delete_view_with_permissions(self):
|
||||
self.grant(permission=permission_transformation_delete)
|
||||
response = self._transformation_delete_view()
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertEqual(Transformation.objects.count(), 0)
|
||||
24
mayan/apps/documents/tests/test_utils.py
Normal file
24
mayan/apps/documents/tests/test_utils.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from common.tests import BaseTestCase
|
||||
|
||||
from ..utils import parse_range
|
||||
|
||||
|
||||
class DocumentUtilsTestCase(BaseTestCase):
|
||||
def test_parse_range(self):
|
||||
self.assertEqual(
|
||||
parse_range('1'), [1]
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
parse_range('1-5'), [1, 2, 3, 4 ,5]
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
parse_range('2,4,6'), [2, 4, 6]
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
parse_range('2,4,6-8'), [2, 4, 6, 7, 8]
|
||||
)
|
||||
@@ -488,6 +488,28 @@ class DocumentsViewsTestCase(GenericDocumentViewTestCase):
|
||||
)
|
||||
|
||||
|
||||
class DocumentPageViewTestCase(GenericDocumentViewTestCase):
|
||||
def setUp(self):
|
||||
super(DocumentPageViewTestCase, self).setUp()
|
||||
self.login_user()
|
||||
|
||||
def _document_page_list_view(self):
|
||||
return self.get(
|
||||
'documents:document_pages', args=(self.document.pk,)
|
||||
)
|
||||
|
||||
def test_document_page_list_view_no_permission(self):
|
||||
response = self._document_page_list_view()
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
def test_document_page_list_view_with_permission(self):
|
||||
self.grant(permission_document_view)
|
||||
response = self._document_page_list_view()
|
||||
self.assertContains(
|
||||
response, text=self.document.label, status_code=200
|
||||
)
|
||||
|
||||
|
||||
class DocumentTypeViewsTestCase(GenericDocumentViewTestCase):
|
||||
def setUp(self):
|
||||
super(DocumentTypeViewsTestCase, self).setUp()
|
||||
|
||||
38
mayan/apps/ocr/tests/test_views.py
Normal file
38
mayan/apps/ocr/tests/test_views.py
Normal file
@@ -0,0 +1,38 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.core import mail
|
||||
from django.test import override_settings
|
||||
|
||||
from documents.tests.test_views import GenericDocumentViewTestCase
|
||||
|
||||
from ..permissions import permission_ocr_content_view
|
||||
|
||||
|
||||
@override_settings(OCR_AUTO_OCR=True)
|
||||
class OCRViewsTestCase(GenericDocumentViewTestCase):
|
||||
# PyOCR's leak descriptor in get_available_languages and image_to_string
|
||||
# Disable descriptor leak test until fixed in upstream
|
||||
_skip_file_descriptor_test = True
|
||||
|
||||
def setUp(self):
|
||||
super(OCRViewsTestCase, self).setUp()
|
||||
self.login_user()
|
||||
|
||||
def _document_content_view(self):
|
||||
return self.get(
|
||||
'ocr:document_content', args=(self.document.pk,)
|
||||
)
|
||||
|
||||
def test_document_content_view_no_permissions(self):
|
||||
response = self._document_content_view()
|
||||
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
def test_document_content_view_with_permission(self):
|
||||
self.grant(permission_ocr_content_view)
|
||||
|
||||
response = self._document_content_view()
|
||||
|
||||
self.assertContains(
|
||||
response, 'Mayan EDMS Documentation', status_code=200
|
||||
)
|
||||
Reference in New Issue
Block a user