| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- from pathlib import Path
- ROOT = Path(__file__).resolve().parents[2]
- def test_data_research_center_pages_routes_and_apis_cover_full_workflow():
- routes = (ROOT / "frontend/src/router/routes.js").read_text(encoding="utf-8")
- api = (ROOT / "frontend/src/api/dataDevelopment.js").read_text(encoding="utf-8")
- pages = {
- name: (ROOT / f"frontend/src/views/dataGovernance/development/{name}.vue").read_text(encoding="utf-8")
- for name in ("index", "ingestion", "tasks", "review")
- }
- combined = api + routes + "".join(pages.values())
- for route_name in (
- "dataResearchCenter",
- "dataResearchIngestion",
- "dataResearchTasks",
- "dataResearchReview",
- ):
- assert route_name in routes
- for api_name in (
- "uploadSourceFile",
- "getEvidence",
- "decideCandidates",
- "createDataElement",
- "transitionDataElement",
- "generateOntologySuggestions",
- ):
- assert api_name in api
- for label in ("SQL", "XLS", "XLSX", "CSV", "DOCX", "PDF", "PNG", "JPG"):
- assert label in pages["ingestion"]
- for status in ("排队中", "解析中", "待评审", "已发布", "失败", "已取消"):
- assert status in pages["tasks"]
- assert "证据预览" in pages["review"]
- assert "批量决策" in pages["review"]
- assert "viewer" in routes and "readOnly" in combined
- for secret in ("MINIO_PASSWORD", "NEO4J_PASSWORD", "DEEPSEEK_API_KEY", "databasePassword"):
- assert secret not in combined
- def test_metadata_page_links_to_new_data_research_center():
- metadata = (ROOT / "frontend/src/views/dataGovernance/metadata/components/metadataManagement.vue").read_text(encoding="utf-8")
- assert "/data-governance/development" in metadata
- assert "数据研发中心" in metadata
|