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

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
+3 -3
View File
@@ -19,7 +19,7 @@ from app.crud import user as user_crud
from app.db.base_class import Base
from tests.conftest import GUID
from app.models.study_member import StudyMember
from app.models.user import User, UserRole, UserStatus
from app.models.user import User, UserStatus
from app.schemas.user import UserRegisterRequest
TEST_DATABASE_URL = "sqlite+aiosqlite:///:memory:"
@@ -99,7 +99,7 @@ async def client_and_db():
password_hash=hash_password("admin123"),
full_name="Admin",
clinical_department="Admin",
role=UserRole.ADMIN,
is_admin=True,
status=UserStatus.ACTIVE,
)
session.add(admin)
@@ -128,7 +128,7 @@ async def test_register_creates_pending_user(client_and_db):
user = await user_crud.get_by_email(session, payload["email"])
assert user is not None
assert user.status == UserStatus.PENDING
assert user.role == UserRole.PV
assert user.is_admin is False
member_rows = (
await session.execute(select(StudyMember).where(StudyMember.user_id == user.id))
).scalars().all()