test(P22PROD1-5): 差旅支付与对账E2E补齐及稳态修复
这个提交包含在:
@@ -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);
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户