Files
mayan-edms/mayan/apps/acls/tests/test_workflow_actions.py
Roberto Rosario 7695178992 Fix failing tests
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-09-24 17:17:21 -04:00

84 lines
2.9 KiB
Python

from __future__ import unicode_literals
from django.contrib.contenttypes.models import ContentType
from mayan.apps.document_states.tests.test_workflow_actions import ActionTestCase
from mayan.apps.documents.permissions import permission_document_view
from ..workflow_actions import (
GrantAccessAction, GrantDocumentAccessAction, RevokeAccessAction,
RevokeDocumentAccessAction
)
class ACLActionTestCase(ActionTestCase):
def test_grant_access_action(self):
action = GrantAccessAction(
form_data={
'content_type': ContentType.objects.get_for_model(
model=self.test_document
).pk,
'object_id': self.test_document.pk,
'roles': [self._test_case_role.pk],
'permissions': [permission_document_view.pk],
}
)
action.execute(context={'entry_log': self.entry_log})
self.assertEqual(self.test_document.acls.count(), 1)
self.assertEqual(
list(self.test_document.acls.first().permissions.all()),
[permission_document_view.stored_permission]
)
self.assertEqual(self.test_document.acls.first().role, self._test_case_role)
def test_grant_document_access_action(self):
action = GrantDocumentAccessAction(
form_data={
'roles': [self._test_case_role.pk],
'permissions': [permission_document_view.pk],
}
)
action.execute(context={'document': self.test_document})
self.assertEqual(self.test_document.acls.count(), 1)
self.assertEqual(
list(self.test_document.acls.first().permissions.all()),
[permission_document_view.stored_permission]
)
self.assertEqual(self.test_document.acls.first().role, self._test_case_role)
def test_revoke_access_action(self):
self.grant_access(
obj=self.test_document, permission=permission_document_view
)
action = RevokeAccessAction(
form_data={
'content_type': ContentType.objects.get_for_model(
model=self.test_document
).pk,
'object_id': self.test_document.pk,
'roles': [self._test_case_role.pk],
'permissions': [permission_document_view.pk],
}
)
action.execute(context={'entry_log': self.entry_log})
self.assertEqual(self.test_document.acls.count(), 0)
def test_revoke_document_access_action(self):
self.grant_access(
obj=self.test_document, permission=permission_document_view
)
action = RevokeDocumentAccessAction(
form_data={
'roles': [self._test_case_role.pk],
'permissions': [permission_document_view.pk],
}
)
action.execute(context={'document': self.test_document})
self.assertEqual(self.test_document.acls.count(), 0)