from __future__ import annotations import pytest from backend.services.operations import get_workbench class _EmptyResult: def mappings(self): return self def __iter__(self): return iter(()) class _EmptySession: async def execute(self, *args, **kwargs): return _EmptyResult() @pytest.mark.asyncio async def test_workbench_returns_empty_role_aware_shape_without_data() -> None: data = await get_workbench( _EmptySession(), _EmptySession(), "W" * 26, workspace_code="001", workspace_name="001", role="business_team", ) assert [item["label"] for item in data["kpis"]] == [ "在管模型", "B / C 等级", "待处理结果", "需主动干预", "待我反馈", "待阅读报告", ] assert all(item["value"] == 0 for item in data["kpis"]) assert data["alerts"] == [] assert data["todos"] == [] assert data["watches"] == [] assert data["activities"] == []