文件
hyb-oa/client/src/lib/testIds.ts
T
wangsli 1f8d5b658a 完善借款、编号、付款与预算并发及验收(09-06-release-gate-integrity)
汇总已落盘的借款本金与还款、兼容历史编号的周期化编号、付款责任与回单核验、报销进度和排序、PWA/采购事务、错误原因与日期校验及ERP退役。
统一共享预算池锁序和锁后判断,恢复差旅原预算选择,补原因码固定夹具及反向完整性检查。
纳入配套迁移、测试、受管QA、分层验收合同、规约及任务记录;原始证据留在ignored artifacts。

关联任务:09-17-company-loan-principal-repayment、09-17-erp-exclusive-retirement、09-18-reimbursement-periodic-numbering、09-08-reimbursement-payment-closeout、09-18-local-concurrency-product-fixes、09-19-budget-pool-concurrency、09-05-error-explainability-payment-readiness。
预算补审由Claude定向验证2文件928项通过,原4446/28及r6结果仍仅对应各自历史输入;本轮未重跑测试。
完整新候选门禁、R1真实入口接入与12项公网义务仍开放。生产编号未启用、差旅仍冻结;不推送、不部署,不宣称发布资格。
2026-09-19 13:11:04 +08:00

66 行
2.2 KiB
TypeScript

export const TEST_IDS = {
login: {
identifier: "login-identifier",
password: "login-password",
submit: "login-submit",
},
topbar: {
profileTrigger: "topbar-profile-trigger",
},
onboarding: {
welcomeDialog: "onboarding-welcome-dialog",
welcomeClose: "onboarding-welcome-close",
gettingStartedCard: "onboarding-getting-started-card",
gettingStartedDismiss: "onboarding-getting-started-dismiss",
},
workflow: {
tasksTable: "workflow-tasks-table",
taskRow: "workflow-task-row",
detailLink: "workflow-task-detail-link",
quickApprove: "workflow-task-quick-approve",
summary: "workflow-task-summary",
approve: "workflow-task-approve",
reject: "workflow-task-reject",
rejectComment: "workflow-task-reject-comment",
returnBtn: "workflow-task-return",
returnComment: "workflow-task-return-comment",
transferApprover: "workflow-task-transfer-approver",
transferReason: "workflow-task-transfer-reason",
transferBtn: "workflow-task-transfer",
actionError: "workflow-task-action-error",
overview: "workflow-task-overview",
},
reimbursement: {
summary: "reimbursement-summary",
items: "reimbursement-items",
itemAdd: "reimbursement-item-add",
submit: "reimbursement-submit",
withdraw: "reimbursement-withdraw",
pay: "reimbursement-pay",
budgetHint: "reimbursement-budget-hint",
overview: "reimbursement-overview",
workflowProgress: "reimbursement-workflow-progress",
invoices: "reimbursement-invoices",
invoiceAdd: "reimbursement-invoice-add",
invoiceDialog: "reimbursement-invoice-dialog",
invoiceUploadFile: "reimbursement-invoice-upload-file",
invoiceUploadSubmit: "reimbursement-invoice-upload-submit",
invoicePendingHint: "reimbursement-invoice-pending-hint",
invoiceActionError: "reimbursement-invoice-action-error",
},
weeklyReport: {
save: "weekly-report-save",
submit: "weekly-report-submit",
createTodo: "weekly-report-create-todo",
},
todo: {
createTitle: "todo-create-title",
createSubmit: "todo-create-submit",
row: "todo-row",
complete: "todo-complete",
},
audit: {
export: "audit-export",
},
} as const;