From c1c8d1dc2d185555817a6d4398d0d52ce361edb9 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 23 Dec 2018 21:28:05 -0400 Subject: [PATCH] Converter: Add transformation edit view tests Signed-off-by: Roberto Rosario --- mayan/apps/converter/tests/literals.py | 1 + mayan/apps/converter/tests/test_views.py | 67 +++++++++++++++++++----- 2 files changed, 56 insertions(+), 12 deletions(-) diff --git a/mayan/apps/converter/tests/literals.py b/mayan/apps/converter/tests/literals.py index fbad176ee9..81af9c4284 100644 --- a/mayan/apps/converter/tests/literals.py +++ b/mayan/apps/converter/tests/literals.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals TEST_TRANSFORMATION_NAME = 'rotate' TEST_TRANSFORMATION_ARGUMENT = 'degrees: 180' +TEST_TRANSFORMATION_ARGUMENT_EDITED = 'degrees: 181' TEST_TRANSFORMATION_COMBINED_CACHE_HASH = '384bf78014d2aed7255d9e548a0694c70af0b22545653214bcceb1ac6286b5f7' TEST_TRANSFORMATION_RESIZE_CACHE_HASH = b'4aa319f5a6950985a19380a1f279a66769d04138bd1583844270fe8c269260fc' TEST_TRANSFORMATION_RESIZE_CACHE_HASH_2 = b'cc8d220d40e810b995181c0c69b44b7a61c3bb039c0be96a5465fcaf698ca99a' diff --git a/mayan/apps/converter/tests/test_views.py b/mayan/apps/converter/tests/test_views.py index 7a64166d6f..65f7bc6589 100644 --- a/mayan/apps/converter/tests/test_views.py +++ b/mayan/apps/converter/tests/test_views.py @@ -7,10 +7,13 @@ from mayan.apps.documents.tests import GenericDocumentViewTestCase from ..models import Transformation from ..permissions import ( permission_transformation_create, permission_transformation_delete, - permission_transformation_view + permission_transformation_edit, permission_transformation_view ) -from .literals import TEST_TRANSFORMATION_NAME, TEST_TRANSFORMATION_ARGUMENT +from .literals import ( + TEST_TRANSFORMATION_NAME, TEST_TRANSFORMATION_ARGUMENT, + TEST_TRANSFORMATION_ARGUMENT_EDITED +) class TransformationViewsTestCase(GenericDocumentViewTestCase): @@ -20,7 +23,7 @@ class TransformationViewsTestCase(GenericDocumentViewTestCase): def _transformation_list_view(self): return self.get( - 'converter:transformation_list', kwargs={ + viewname='converter:transformation_list', kwargs={ 'app_label': 'documents', 'model': 'document', 'object_id': self.document.pk } @@ -41,7 +44,7 @@ class TransformationViewsTestCase(GenericDocumentViewTestCase): def _transformation_create_view(self): return self.post( - 'converter:transformation_create', kwargs={ + viewname='converter:transformation_create', kwargs={ 'app_label': 'documents', 'model': 'document', 'object_id': self.document.pk }, data={ @@ -56,37 +59,77 @@ class TransformationViewsTestCase(GenericDocumentViewTestCase): self.assertEqual(response.status_code, 403) self.assertEqual(Transformation.objects.count(), 0) - def test_transformation_create_view_with_permissions(self): - self.grant_permission(permission=permission_transformation_create) + def test_transformation_create_view_with_access(self): + self.grant_access( + obj=self.document, 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): + def _create_transformation(self): content_type = ContentType.objects.get_for_model(model=self.document) - transformation = Transformation.objects.create( + self.transformation = Transformation.objects.create( content_type=content_type, object_id=self.document.pk, name=TEST_TRANSFORMATION_NAME, arguments=TEST_TRANSFORMATION_ARGUMENT ) + def _transformation_delete_view(self): return self.post( - 'converter:transformation_delete', kwargs={ - 'pk': transformation.pk + viewname='converter:transformation_delete', kwargs={ + 'pk': self.transformation.pk } ) def test_transformation_delete_view_no_permissions(self): + self._create_transformation() 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=permission_transformation_delete) + def test_transformation_delete_view_with_access(self): + self._create_transformation() + self.grant_access( + obj=self.document, permission=permission_transformation_delete + ) response = self._transformation_delete_view() self.assertEqual(response.status_code, 302) self.assertEqual(Transformation.objects.count(), 0) + + def _transformation_edit_view(self): + return self.post( + viewname='converter:transformation_edit', kwargs={ + 'pk': self.transformation.pk + }, data={ + 'arguments': TEST_TRANSFORMATION_ARGUMENT_EDITED, + 'name': self.transformation.name + } + ) + + def test_transformation_edit_view_no_permission(self): + self._create_transformation() + response = self._transformation_edit_view() + self.assertEqual(response.status_code, 403) + + self.transformation.refresh_from_db() + self.assertNotEqual( + self.transformation.arguments, TEST_TRANSFORMATION_ARGUMENT_EDITED + ) + + def test_transformation_edit_view_with_access(self): + self._create_transformation() + self.grant_access( + obj=self.document, permission=permission_transformation_edit + ) + response = self._transformation_edit_view() + self.assertEqual(response.status_code, 302) + + self.transformation.refresh_from_db() + self.assertEqual( + self.transformation.arguments, TEST_TRANSFORMATION_ARGUMENT_EDITED + )