文件
hyb-oa/scripts/qa/route-manifest.json
T
wangsli 5dac336fbf
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
修复移动验收门禁漂移(07-27-yang-jun-reimbursement-readiness)
2026-08-01 16:28:14 +08:00

191 行
13 KiB
JSON

{
"schemaVersion": 1,
"coreBundles": [
"login-logout",
"reimbursement",
"approval",
"invoice",
"procurement",
"project-contract",
"payment-ap",
"people-audit",
"attendance-archive",
"mobile-workspace"
],
"acceptanceSpecs": [
"client/tests/e2e/r102-reimbursement-main-flow.spec.ts",
"client/tests/e2e/r103-cross-page-ui-consistency.spec.ts",
"client/tests/e2e/pc-detail-mobile-visual-wave3.spec.ts",
"client/tests/e2e/pc-finance-admin-visual-wave4.spec.ts",
"client/tests/e2e/internal-readiness-ui.spec.ts",
"client/tests/e2e/system-action-confirmation.spec.ts",
"client/tests/e2e/payment-reviewer-permissions.spec.ts",
"client/tests/e2e/r5-real-device-feedback-mobile-ux.spec.ts"
],
"localCandidateFlows": [
{
"bundle": "login-logout",
"witnessRoute": "/login",
"witnessTag": "@local-candidate:login-logout",
"expectedH1": "海音达 OA",
"roleFixture": "employee",
"primaryAction": { "allowed": "登录", "forbidden": "应急超级管理员" },
"witnessSpec": "client/tests/e2e/local-candidate-witnesses.spec.ts"
},
{
"bundle": "reimbursement",
"witnessRoute": "/reimbursements",
"witnessTag": "@local-candidate:reimbursement",
"expectedH1": "我的报销",
"roleFixture": "employee",
"primaryAction": { "allowed": "新建报销", "forbidden": "导出" },
"witnessSpec": "client/tests/e2e/local-candidate-witnesses.spec.ts"
},
{
"bundle": "approval",
"witnessRoute": "/workflow/tasks",
"witnessTag": "@local-candidate:approval",
"expectedH1": "待我处理",
"roleFixture": "manager",
"primaryAction": { "allowed": "处理", "forbidden": "通过" },
"witnessSpec": "client/tests/e2e/local-candidate-witnesses.spec.ts"
},
{
"bundle": "invoice",
"witnessRoute": "/invoice-pool",
"witnessTag": "@local-candidate:invoice",
"expectedH1": "票据",
"roleFixture": "employee",
"primaryAction": { "allowed": "上传票据", "forbidden": "作废" },
"witnessSpec": "client/tests/e2e/local-candidate-witnesses.spec.ts"
},
{
"bundle": "procurement",
"witnessRoute": "/purchase-requests",
"witnessTag": "@local-candidate:procurement",
"expectedH1": "采购",
"roleFixture": "employee",
"primaryAction": { "allowed": "新建采购", "forbidden": "通过" },
"witnessSpec": "client/tests/e2e/local-candidate-witnesses.spec.ts"
},
{
"bundle": "project-contract",
"witnessRoute": "/contracts-registry",
"witnessTag": "@local-candidate:project-contract",
"expectedH1": "合同",
"roleFixture": "manager",
"primaryAction": { "allowed": "新增合同", "forbidden": "执行付款" },
"witnessSpec": "client/tests/e2e/local-candidate-witnesses.spec.ts"
},
{
"bundle": "payment-ap",
"witnessRoute": "/payment-batches",
"witnessTag": "@local-candidate:payment-ap",
"expectedH1": "付款",
"roleFixture": "finance",
"primaryAction": { "allowed": "新建批次", "forbidden": "复核批次" },
"witnessSpec": "client/tests/e2e/local-candidate-witnesses.spec.ts"
},
{
"bundle": "people-audit",
"witnessRoute": "/system/users",
"witnessTag": "@local-candidate:people-audit",
"expectedH1": "系统用户管理",
"roleFixture": "system_admin",
"primaryAction": { "allowed": "新建用户", "forbidden": "应急超级管理员" },
"witnessSpec": "client/tests/e2e/local-candidate-witnesses.spec.ts"
},
{
"bundle": "attendance-archive",
"witnessRoute": "/mobile/attendance",
"witnessTag": "@local-candidate:attendance-archive",
"expectedH1": "考勤",
"roleFixture": "employee",
"primaryAction": { "allowed": "修正申请", "forbidden": "提交应急修正" },
"witnessSpec": "client/tests/e2e/local-candidate-witnesses.spec.ts"
},
{
"bundle": "mobile-workspace",
"witnessRoute": "/mobile",
"witnessTag": "@local-candidate:mobile-workspace",
"expectedH1": "今天待办",
"roleFixture": "employee",
"primaryAction": { "allowed": "新建报销", "forbidden": "财务" },
"witnessSpec": "client/tests/e2e/local-candidate-witnesses.spec.ts"
}
],
"routes": [
{ "path": "*", "classification": "supported-noncore" },
{ "path": "/", "classification": "supported-noncore" },
{ "path": "/403", "classification": "supported-noncore" },
{ "path": "/announcements", "classification": "supported-noncore" },
{ "path": "/ap-operations", "classification": "core", "bundle": "payment-ap", "behaviorSpecs": ["client/tests/e2e/reimbursement-payment-batch-flow.spec.ts"] },
{ "path": "/assets", "classification": "supported-noncore", "visualRequired": true, "visualSpecs": ["client/tests/e2e/r103-cross-page-ui-consistency.spec.ts"] },
{ "path": "/attendance", "classification": "core", "bundle": "attendance-archive", "behaviorSpecs": ["client/tests/e2e/r75-automation-gap-fill.spec.ts"] },
{ "path": "/audit-logs", "classification": "core", "bundle": "people-audit", "behaviorSpecs": ["client/tests/e2e/settings-governance.spec.ts"] },
{ "path": "/budgets", "classification": "supported-noncore" },
{ "path": "/change-password", "classification": "supported-noncore" },
{ "path": "/contracts-registry", "classification": "core", "bundle": "project-contract", "behaviorSpecs": ["client/tests/e2e/pc-detail-mobile-visual-wave3.spec.ts"], "visualRequired": true, "visualSpecs": ["client/tests/e2e/pc-detail-mobile-visual-wave3.spec.ts"] },
{ "path": "/dashboard", "classification": "deferred" },
{ "path": "/delegations", "classification": "supported-noncore" },
{ "path": "/forgot-password", "classification": "supported-noncore" },
{ "path": "/inventory-checks", "classification": "supported-noncore" },
{ "path": "/invoice-pool", "classification": "core", "bundle": "invoice", "behaviorSpecs": ["client/tests/e2e/pc-finance-admin-visual-wave4.spec.ts"], "visualRequired": true, "visualSpecs": ["client/tests/e2e/pc-finance-admin-visual-wave4.spec.ts"] },
{ "path": "/leave-requests", "classification": "supported-noncore" },
{ "path": "/login", "classification": "core", "bundle": "login-logout", "behaviorSpecs": ["client/tests/e2e/login-portal-ux.spec.ts"] },
{ "path": "/mobile", "classification": "core", "bundle": "mobile-workspace", "behaviorSpecs": ["client/tests/e2e/r124-mobile-entry-matrix.spec.ts"], "visualRequired": true, "visualSpecs": ["client/tests/e2e/r108-mobile-wecom-visual.spec.ts"] },
{ "path": "/mobile/approvals", "classification": "core", "bundle": "approval", "behaviorSpecs": ["client/tests/e2e/mobile-approvals-offline.spec.ts"] },
{ "path": "/mobile/approvals/:taskId", "classification": "core", "bundle": "approval", "behaviorSpecs": ["client/tests/e2e/mobile-approvals-offline.spec.ts"] },
{ "path": "/mobile/assets/scan", "classification": "supported-noncore" },
{ "path": "/mobile/attendance", "classification": "core", "bundle": "attendance-archive", "behaviorSpecs": ["client/tests/e2e/internal-readiness-ui.spec.ts"], "visualRequired": true, "visualSpecs": ["client/tests/e2e/internal-readiness-ui.spec.ts"] },
{ "path": "/mobile/capture", "classification": "core", "bundle": "invoice", "behaviorSpecs": ["client/tests/e2e/r124-mobile-entry-matrix.spec.ts"] },
{ "path": "/mobile/leave", "classification": "supported-noncore" },
{ "path": "/mobile/leave/:leaveRequestId", "classification": "supported-noncore" },
{ "path": "/mobile/me", "classification": "core", "bundle": "mobile-workspace", "behaviorSpecs": ["client/tests/e2e/r124-mobile-entry-matrix.spec.ts"] },
{ "path": "/mobile/notifications", "classification": "core", "bundle": "mobile-workspace", "behaviorSpecs": ["client/tests/e2e/dg7-mobile-information-dedupe.spec.ts"] },
{ "path": "/mobile/profile", "classification": "supported-noncore" },
{ "path": "/mobile/purchase-requests", "classification": "core", "bundle": "procurement", "behaviorSpecs": ["client/tests/e2e/pc-detail-mobile-visual-wave3.spec.ts"] },
{ "path": "/mobile/purchase-requests/:purchaseRequestId", "classification": "core", "bundle": "procurement", "behaviorSpecs": ["client/tests/e2e/pc-detail-mobile-visual-wave3.spec.ts"] },
{ "path": "/mobile/reimbursements", "classification": "core", "bundle": "reimbursement", "behaviorSpecs": ["client/tests/e2e/r102-reimbursement-main-flow.spec.ts"] },
{ "path": "/mobile/reimbursements/:reimbursementId", "classification": "core", "bundle": "reimbursement", "behaviorSpecs": ["client/tests/e2e/r102-reimbursement-main-flow.spec.ts"] },
{ "path": "/mobile/wecom-approval-archive", "classification": "core", "bundle": "attendance-archive", "behaviorSpecs": ["client/tests/e2e/internal-readiness-ui.spec.ts"], "visualRequired": true, "visualSpecs": ["client/tests/e2e/internal-readiness-ui.spec.ts"] },
{ "path": "/notifications", "classification": "supported-noncore" },
{ "path": "/organization", "classification": "supported-noncore" },
{ "path": "/payment-batches", "classification": "core", "bundle": "payment-ap", "behaviorSpecs": ["client/tests/e2e/reimbursement-payment-batch-flow.spec.ts"], "visualRequired": true, "visualSpecs": ["client/tests/e2e/pc-finance-admin-visual-wave4.spec.ts"] },
{ "path": "/payroll", "classification": "supported-noncore" },
{ "path": "/people", "classification": "core", "bundle": "people-audit", "behaviorSpecs": ["client/tests/e2e/r75-automation-gap-fill.spec.ts"] },
{ "path": "/people/:employeeId", "classification": "core", "bundle": "people-audit", "behaviorSpecs": ["client/tests/e2e/r75-automation-gap-fill.spec.ts"] },
{ "path": "/people/stats", "classification": "supported-noncore" },
{ "path": "/performance", "classification": "supported-noncore" },
{ "path": "/portal", "classification": "core", "bundle": "login-logout", "behaviorSpecs": ["client/tests/e2e/login-portal-ux.spec.ts"] },
{ "path": "/projects", "classification": "core", "bundle": "project-contract", "behaviorSpecs": ["client/tests/e2e/project-workbench.spec.ts"], "visualRequired": true, "visualSpecs": ["client/tests/e2e/r103-cross-page-ui-consistency.spec.ts"] },
{ "path": "/projects/:projectId", "classification": "core", "bundle": "project-contract", "behaviorSpecs": ["client/tests/e2e/project-workbench.spec.ts"] },
{ "path": "/purchase-requests", "classification": "core", "bundle": "procurement", "behaviorSpecs": ["client/tests/e2e/procurement-flow.spec.ts"], "visualRequired": true, "visualSpecs": ["client/tests/e2e/r103-cross-page-ui-consistency.spec.ts"] },
{ "path": "/reimbursements", "classification": "core", "bundle": "reimbursement", "behaviorSpecs": ["client/tests/e2e/r102-reimbursement-main-flow.spec.ts"], "visualRequired": true, "visualSpecs": ["client/tests/e2e/r103-cross-page-ui-consistency.spec.ts"] },
{ "path": "/reimbursements/:reimbursementId", "classification": "core", "bundle": "reimbursement", "behaviorSpecs": ["client/tests/e2e/r102-reimbursement-main-flow.spec.ts"] },
{ "path": "/reimbursements/:reimbursementId/print", "classification": "supported-noncore" },
{ "path": "/reimbursements/dashboard", "classification": "supported-noncore" },
{ "path": "/settings/profile", "classification": "supported-noncore" },
{ "path": "/system/announcements", "classification": "supported-noncore" },
{ "path": "/system/approval-rules", "classification": "supported-noncore" },
{ "path": "/system/cutover", "classification": "frozen" },
{ "path": "/system/departments", "classification": "supported-noncore" },
{ "path": "/system/expense-standards", "classification": "supported-noncore" },
{ "path": "/system/feature-flags", "classification": "supported-noncore" },
{ "path": "/system/master-data", "classification": "supported-noncore" },
{ "path": "/system/notification-channels", "classification": "supported-noncore" },
{ "path": "/system/reimbursement-templates", "classification": "supported-noncore" },
{ "path": "/system/settings", "classification": "supported-noncore" },
{ "path": "/system/users", "classification": "core", "bundle": "people-audit", "behaviorSpecs": ["client/tests/e2e/pc-finance-admin-visual-wave4.spec.ts"] },
{ "path": "/system/workflow-definitions", "classification": "supported-noncore" },
{ "path": "/system/workspace", "classification": "supported-noncore" },
{ "path": "/team", "classification": "supported-noncore" },
{ "path": "/todos", "classification": "supported-noncore" },
{ "path": "/travel-requests", "classification": "frozen" },
{ "path": "/wecom-approval-archive", "classification": "core", "bundle": "attendance-archive", "behaviorSpecs": ["client/tests/e2e/internal-readiness-ui.spec.ts"], "visualRequired": true, "visualSpecs": ["client/tests/e2e/internal-readiness-ui.spec.ts"] },
{ "path": "/weekly-reports", "classification": "supported-noncore" },
{ "path": "/workflow/tasks", "classification": "core", "bundle": "approval", "behaviorSpecs": ["client/tests/e2e/workflow-action-confirm-ui.spec.ts"] },
{ "path": "/workflow/tasks/:taskId", "classification": "core", "bundle": "approval", "behaviorSpecs": ["client/tests/e2e/workflow-action-confirm-ui.spec.ts"] }
]
}