refactor: 菜单栏角色化降噪(role-based-navigation-simplification)

这个提交包含在:
2026-05-29 21:11:32 +08:00
父节点 325a7950c9
当前提交 541593a5b6
共修改 58 个文件,包含 796 行新增和 366 行删除
@@ -187,7 +187,7 @@ test("R70 自动辅助试运行:员工、经理、管理员路径巡检", asyn
});
await runStep("employee", "请假提交并生成经理待办", async () => {
await (await openNavLink(page, "请假")).click();
await (await openNavLink(page, "请假记录")).click();
await expect(page.getByRole("heading", { name: "请假申请" })).toBeVisible();
const leave = await createAndSubmitLeaveForManager(page);
await page.goto("/leave-requests");
@@ -204,7 +204,7 @@ test("R70 自动辅助试运行:员工、经理、管理员路径巡检", asyn
await runStep("employee", "周报与待办入口", async () => {
await (await openNavLink(page, "周报")).click();
await expect(page.getByRole("heading", { name: "周报", exact: true })).toBeVisible();
await (await openNavLink(page, "待办")).click();
await page.goto("/todos");
await expect(page.getByRole("heading", { name: "待办", exact: true })).toBeVisible();
});
@@ -245,18 +245,20 @@ test("R70 自动辅助试运行:员工、经理、管理员路径巡检", asyn
await runStep("admin", "管理入口与人员组织", async () => {
await logout(page, MANAGER.name);
await login(page, ADMIN);
await (await openNavLink(page, "人员管理")).click();
await (await openNavLink(page, /^管理$/)).click();
await expect(page.getByRole("heading", { name: "管理", exact: true })).toBeVisible();
await page.getByRole("link", { name: /人员/ }).first().click();
await expect(page.getByRole("heading", { name: "人员管理" })).toBeVisible();
await (await openNavLink(page, "组织架构")).click();
await page.goto("/organization");
await expect(page.getByRole("heading", { name: "组织架构" })).toBeVisible();
});
await runStep("admin", "系统设置、功能开关、审计日志", async () => {
await (await openNavLink(page, "系统设置")).click();
await expect(page.getByRole("heading", { name: "系统设置" })).toBeVisible();
await (await openNavLink(page, "功能开关")).click();
await expect(page.getByRole("heading", { name: "功能开关" })).toBeVisible();
await (await openNavLink(page, "审计日志")).click();
await runStep("admin", "管理、功能管理、审计日志", async () => {
await (await openNavLink(page, /^管理$/)).click();
await expect(page.getByRole("heading", { name: "管理", exact: true })).toBeVisible();
await page.getByRole("link", { name: /功能管理/ }).first().click();
await expect(page.getByRole("heading", { name: "功能管理" })).toBeVisible();
await page.goto("/audit-logs");
await expect(page.getByRole("heading", { name: "审计工作台" })).toBeVisible();
});
} finally {
@@ -173,7 +173,7 @@ test("R70 深层自动辅助试运行:周报待办、公告团队状态、真
await submitResponse;
await expect(page.getByText("周报已提交")).toBeVisible();
await (await openNavLink(page, "待办")).click();
await page.goto("/todos");
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();
@@ -778,7 +778,7 @@ test(`${trialrunIssueId} 浏览器业务先行试运行:报销、审批、请
const startDate = futureWeekday(uniqueFutureOffset(5200));
const employee = await loginRole(page, "employee");
try {
await (await openNavLink(page, "请假")).click();
await (await openNavLink(page, "请假记录")).click();
await expect(page.getByRole("heading", { name: "请假申请" })).toBeVisible();
const leaveId = await createLeaveDraft(page, startDate, `${trialrunMarkerPrefix} 审批边界 ${marker}`);
@@ -952,7 +952,7 @@ test(`${trialrunIssueId} 浏览器业务先行试运行:报销、审批、请
const startDate = futureWeekday(uniqueFutureOffset(3200));
const employee = await loginRole(page, "employee");
try {
await (await openNavLink(page, "请假")).click();
await (await openNavLink(page, "请假记录")).click();
await expect(page.getByRole("heading", { name: "请假申请" })).toBeVisible();
const leaveId = await createLeaveDraft(page, startDate, `${trialrunMarkerPrefix} 浏览器请假 ${marker}`);