import uuid import pytest from app.models.user import User from app.services.site_contact_display import build_contact_display def make_user(user_id: uuid.UUID, full_name: str, email: str) -> User: return User( id=user_id, email=email, password_hash="hash", full_name=full_name, clinical_department="PMO", ) def test_build_contact_display_resolves_comma_separated_user_ids(): first_id = uuid.uuid4() second_id = uuid.uuid4() users = { first_id: make_user(first_id, "张三", "zhangsan@example.com"), second_id: make_user(second_id, "李四", "lisi@example.com"), } display = build_contact_display(f"{first_id}, {second_id}", users) assert display == "张三、李四" @pytest.mark.parametrize("role", ["PM", "CRA", "PV", "QA", "CTA"]) def test_build_contact_display_is_role_independent_for_site_read_roles(role: str): user_id = uuid.uuid4() users = {user_id: make_user(user_id, "周成", "zhoucheng@example.com")} display = build_contact_display(str(user_id), users) assert role assert display == "周成"