清理全局角色残留并修复项目权限判断

This commit is contained in:
Cheng Zhou
2026-05-29 10:20:42 +08:00
parent 63457aab11
commit 44d69c2d7b
63 changed files with 739 additions and 443 deletions
+4 -4
View File
@@ -5,7 +5,7 @@ from app.core import rbac
@dataclass
class UserStub:
role: str
is_admin: bool = False
@dataclass
@@ -14,12 +14,12 @@ class MemberStub:
def test_non_admin_global_role_does_not_grant_project_document_permission():
assert not rbac.is_allowed("delete_document", UserStub(role="PM"), MemberStub(role_in_study="CRA"))
assert not rbac.is_allowed("delete_document", UserStub(), MemberStub(role_in_study="CRA"))
def test_project_role_grants_project_document_permission():
assert rbac.is_allowed("delete_document", UserStub(role="CRA"), MemberStub(role_in_study="PM"))
assert rbac.is_allowed("delete_document", UserStub(), MemberStub(role_in_study="PM"))
def test_global_admin_keeps_system_document_permission_without_membership():
assert rbac.is_allowed("delete_document", UserStub(role="ADMIN"), None)
assert rbac.is_allowed("delete_document", UserStub(is_admin=True), None)