| 1234567891011121314151617181920212223242526272829303132333435 |
- """用户列表须返回职位/角色关联字段,供前端列表列展示。"""
- 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"] == []
|