test_device_knowledge_frontend_contract.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from __future__ import annotations
  2. from pathlib import Path
  3. ROOT = Path(__file__).resolve().parents[2]
  4. VIEW = ROOT / "frontend/src/views/knowledgeBaseProduct/index.vue"
  5. API = ROOT / "frontend/src/api/governanceKnowledge.js"
  6. def test_device_knowledge_workbench_exposes_search_refusal_scope_and_audit():
  7. view = VIEW.read_text(encoding="utf-8")
  8. api = API.read_text(encoding="utf-8")
  9. for prompt in ("设备名称", "平台 UID", "源 ID", "位置", "责任人", "故障"):
  10. assert prompt in view
  11. for explicit_state in (
  12. "回答模型暂不可用",
  13. "当前证据不足",
  14. "未生成推测性答案",
  15. ):
  16. assert explicit_state in view
  17. assert "数据源授权范围" in view
  18. assert "空范围仅管理员可见" in view
  19. assert "查询审计" in view
  20. assert "原始问题不会写入审计" in view
  21. assert '@change="resetResult"' in view
  22. assert "resetResult ()" in view
  23. assert "$snackbar" in view
  24. assert "$message" not in view
  25. for endpoint in (
  26. "/knowledge/admin/device-sources",
  27. "/knowledge/admin/query-audits",
  28. ):
  29. assert endpoint in api