36 lines
1.3 KiB
Python
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"] == []
|