Files
mayan-edms/mayan/apps/metadata/tests/test_events.py
Roberto Rosario aa95a61451 Refactor metadata app
Update permission variable name from
"permission_document_metadata_" to "permission_metadata_".

Fix failing tests.

Add test for same metadata type mixin.

Split metadata add and remove test into test for GET and
POST requests.

Remove use of urlencode and instead use furl.

Simplify view using self.action_count and
self.action_id_list.

Use ExternalObjectMixin to remove repeated code.

Move the repeated code to test for all documents to
be of the same type into its own mixin.

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
2019-02-03 23:37:52 -04:00

70 lines
2.2 KiB
Python

from __future__ import unicode_literals
from actstream.models import Action
from mayan.apps.documents.tests import GenericDocumentViewTestCase
from ..events import (
event_metadata_type_created, event_metadata_type_edited
)
from ..models import MetadataType
from ..permissions import (
permission_metadata_type_create, permission_metadata_type_edit
)
from .mixins import MetadataTestsMixin
class MetadataTypeEventsTestCase(MetadataTestsMixin, GenericDocumentViewTestCase):
def test_metadata_type_create_event_no_permissions(self):
Action.objects.all().delete()
response = self._request_metadata_type_create_view()
self.assertEqual(response.status_code, 403)
self.assertEqual(Action.objects.count(), 0)
def test_metadata_type_create_event_with_permissions(self):
Action.objects.all().delete()
self.grant_permission(permission=permission_metadata_type_create)
response = self._request_metadata_type_create_view()
self.assertEqual(response.status_code, 302)
event = Action.objects.first()
metadata_type = MetadataType.objects.first()
self.assertEqual(event.verb, event_metadata_type_created.id)
self.assertEqual(event.target, metadata_type)
self.assertEqual(event.actor, self._test_case_user)
def test_metadata_type_edit_event_no_permissions(self):
self._create_metadata_type()
Action.objects.all().delete()
response = self._request_metadata_type_edit_view()
self.assertEqual(response.status_code, 404)
self.assertEqual(Action.objects.count(), 0)
def test_metadata_type_edit_event_with_access(self):
self._create_metadata_type()
Action.objects.all().delete()
self.grant_access(
permission=permission_metadata_type_edit, obj=self.metadata_type
)
response = self._request_metadata_type_edit_view()
self.assertEqual(response.status_code, 302)
event = Action.objects.first()
self.assertEqual(event.verb, event_metadata_type_edited.id)
self.assertEqual(event.target, self.metadata_type)
self.assertEqual(event.actor, self._test_case_user)