Files
zkxw/backend/tests/test_user_list_relations.py
2026-08-06 22:21:14 +08:00

36 lines
1.3 KiB
Python

"""用户列表须返回职位/角色关联字段,供前端列表列展示。"""
import inspect
from app.api import admin as admin_api
from app.crud import user as user_crud
def test_admin_list_users_enriches_role_and_post_relations():
"""回归:列表不得仅用 _row_to_dict,须补全职位/有效角色。"""
source = inspect.getsource(admin_api.list_users)
assert "enrich_user_dicts_with_relations" in source
def test_enrich_user_dicts_with_relations_empty_list():
class _DummySession:
def query(self, *args, **kwargs): # pragma: no cover
raise AssertionError("空列表不应访问数据库")
assert user_crud.enrich_user_dicts_with_relations(_DummySession(), []) == []
def test_enrich_user_dicts_with_relations_fills_empty_fields_without_id():
class _DummySession:
def query(self, *args, **kwargs): # pragma: no cover
raise AssertionError("无 id 条目不应访问数据库")
items = [{"userNo": "u1"}]
out = user_crud.enrich_user_dicts_with_relations(_DummySession(), items)
assert out is items
assert items[0]["roleIds"] == []
assert items[0]["postIds"] == []
assert items[0]["postInheritedRoleIds"] == []
assert items[0]["effectiveRoleIds"] == []
assert items[0]["effectiveRoleNames"] == []