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)