feat(08-05-interaction-pattern-unification): 统一前端交互与反馈模式

这个提交包含在:
2026-08-07 06:50:40 +08:00
父节点 d4e9597b37
当前提交 94f1bad336
共修改 97 个文件,包含 784 行新增和 836 行删除
+3 -3
查看文件
@@ -9,7 +9,7 @@ function formatWeekStart(offsetDays: number) {
return value.toISOString().slice(0, 10);
}
test("E2E 周报待办联动:保存 → 生成待办 → 提交 → 完成待办", async ({ page }) => {
test("E2E 周报事项联动:保存 → 生成事项 → 提交 → 完成事项", async ({ page }) => {
const uniqueToken = `Playwright 周报联动 ${Date.now()}`;
const weekStart = formatWeekStart(35 + Number(String(Date.now()).slice(-1)));
@@ -41,7 +41,7 @@ test("E2E 周报待办联动:保存 → 生成待办 → 提交 → 完成待
});
await page.getByTestId(TEST_IDS.weeklyReport.createTodo).click();
await createTodoResponse;
await expect(page.getByText("已从周报生成待办")).toBeVisible();
await expect(page.getByText("已从周报生成事项")).toBeVisible();
const submitResponse = page.waitForResponse((response) => {
const url = new URL(response.url());
@@ -56,7 +56,7 @@ test("E2E 周报待办联动:保存 → 生成待办 → 提交 → 完成待
const todoRow = page.getByTestId(TEST_IDS.todo.row).filter({ hasText: uniqueToken }).first();
await expect(todoRow).toBeVisible({ timeout: 30_000 });
await todoRow.getByTestId(TEST_IDS.todo.complete).click();
await expect(todoRow).toContainText("done", { timeout: 30_000 });
await expect(todoRow).toContainText("已完成", { timeout: 30_000 });
await logout(page, EMPLOYEE.name);
});