35 lines
912 B
Python
35 lines
912 B
Python
from django.test import SimpleTestCase
|
|
|
|
from apps.projects.api.permissions import IsProjectManager, IsProjectMember, get_project_from_obj
|
|
|
|
|
|
class DummyWorkspace:
|
|
pass
|
|
|
|
|
|
class DummyProject:
|
|
def __init__(self):
|
|
self.workspace = DummyWorkspace()
|
|
|
|
|
|
class DummyRelatedObject:
|
|
def __init__(self):
|
|
self.project = DummyProject()
|
|
|
|
|
|
class ProjectPermissionHelperTests(SimpleTestCase):
|
|
def test_get_project_from_obj_returns_project_for_project_like_object(self):
|
|
project = DummyProject()
|
|
|
|
self.assertIs(get_project_from_obj(project), project)
|
|
|
|
def test_get_project_from_obj_returns_related_project(self):
|
|
related = DummyRelatedObject()
|
|
|
|
self.assertIs(get_project_from_obj(related), related.project)
|
|
|
|
def test_permission_messages_remain_defined(self):
|
|
self.assertTrue(IsProjectMember.message)
|
|
self.assertTrue(IsProjectManager.message)
|
|
|