test(P22PROD1-5): 差旅支付与对账E2E补齐及稳态修复

这个提交包含在:
2026-03-12 21:48:47 +08:00
父节点 c069bd5ad8
当前提交 956f77f8d4
共修改 8 个文件,包含 926 行新增和 6 行删除
+7 -6
查看文件
@@ -62,7 +62,8 @@ test("E2E 主链路:登录→报销→待办审批→票据OCR→支付→登
const popupPromise = page.waitForEvent("popup");
const invoiceRow = page.getByTestId("invoice-row").filter({ hasText: invoiceId }).first();
await expect(invoiceRow).toBeVisible();
await invoiceRow.getByTestId("invoice-preview-button").click();
await invoiceRow.getByRole("button").click();
await page.getByTestId("invoice-preview-button").click();
const popup = await popupPromise;
await expect(popup).toHaveURL(new RegExp(`/api/invoice-pool/${invoiceId}`));
await popup.close();
@@ -75,7 +76,7 @@ test("E2E 主链路:登录→报销→待办审批→票据OCR→支付→登
// 4) submit reimbursement
await page.goto(`/reimbursements/${reimbursementId}`);
await page.getByTestId("reimbursement-submit").click();
await expect(page.getByText("状态:reviewing")).toBeVisible();
await expect(page.getByText(/状态:(reviewing|审批中)/)).toBeVisible();
// 5) manager approve
await logout(page, EMPLOYEE.name);
@@ -87,7 +88,7 @@ test("E2E 主链路:登录→报销→待办审批→票据OCR→支付→登
await expect(managerTaskRow).toBeVisible();
await managerTaskRow.getByTestId("workflow-task-detail-link").click();
await page.getByTestId("workflow-task-approve").click();
await expect(page.getByTestId("workflow-task-summary")).toContainText("状态:completed");
await expect(page.getByTestId("workflow-task-summary")).toContainText(/状态:(completed|已完成)/);
await logout(page, MANAGER.name);
@@ -98,13 +99,13 @@ test("E2E 主链路:登录→报销→待办审批→票据OCR→支付→登
await expect(financeTaskRow).toBeVisible();
await financeTaskRow.getByTestId("workflow-task-detail-link").click();
await page.getByTestId("workflow-task-approve").click();
await expect(page.getByTestId("workflow-task-summary")).toContainText("状态:completed");
await expect(page.getByTestId("workflow-task-summary")).toContainText(/状态:(completed|已完成)/);
await page.goto(`/reimbursements/${reimbursementId}`);
await expect(page.getByText("状态:approved")).toBeVisible({ timeout: 30_000 });
await expect(page.getByText(/状态:(approved|已批准)/)).toBeVisible({ timeout: 30_000 });
await page.getByTestId("reimbursement-pay-voucher-no").fill(`E2E-${Date.now()}`);
await page.getByTestId("reimbursement-pay").click();
await expect(page.getByText("状态:paid")).toBeVisible({ timeout: 30_000 });
await expect(page.getByText(/状态:(paid|已支付)/)).toBeVisible({ timeout: 30_000 });
await logout(page, FINANCE.name);