refactor: 简化工作台上手入口和个人设置(portal-onboarding-profile-simplification)
这个提交包含在:
@@ -68,6 +68,9 @@ function mockPasswordLogin(page: import("@playwright/test").Page, emailReady = t
|
||||
await route.fulfill({
|
||||
status: 200,
|
||||
contentType: "application/json",
|
||||
headers: {
|
||||
"set-cookie": "has_session=1; Path=/; SameSite=Strict",
|
||||
},
|
||||
body: JSON.stringify(envelope({
|
||||
accessToken: "test-access-token",
|
||||
expiresIn: 900,
|
||||
@@ -567,7 +570,7 @@ test("Portal 管理视角重排正确,更多入口默认折叠", async ({ page
|
||||
await expect(page.getByRole("link", { name: "差旅申请" })).toBeVisible();
|
||||
});
|
||||
|
||||
test("Portal 新员工引导先显示欢迎弹窗,再显示快速上手清单", async ({ page }) => {
|
||||
test("Portal 新员工只显示轻量欢迎入口,不再显示快速上手清单", async ({ page }) => {
|
||||
await page.addInitScript(() => {
|
||||
window.localStorage.setItem("hyb_oa_show_welcome", "1");
|
||||
window.localStorage.setItem("hyb_oa_onboarding_active", "1");
|
||||
@@ -583,14 +586,47 @@ test("Portal 新员工引导先显示欢迎弹窗,再显示快速上手清单"
|
||||
|
||||
await login(page, EMPLOYEE);
|
||||
|
||||
await expect(page.getByTestId(TEST_IDS.onboarding.welcomeDialog)).toBeVisible();
|
||||
const welcomeDialog = page.getByTestId(TEST_IDS.onboarding.welcomeDialog);
|
||||
await expect(welcomeDialog).toBeVisible();
|
||||
await expect(welcomeDialog.getByRole("heading", { name: "常用入口" })).toBeVisible();
|
||||
await expect(welcomeDialog.getByRole("link")).toHaveCount(3);
|
||||
await expect(welcomeDialog.getByRole("link", { name: /处理待办/ })).toBeVisible();
|
||||
await expect(welcomeDialog.getByRole("link", { name: /提交报销/ })).toBeVisible();
|
||||
await expect(welcomeDialog.getByRole("link", { name: /请假/ })).toBeVisible();
|
||||
await expect(welcomeDialog.getByRole("link", { name: /个人设置/ })).not.toBeVisible();
|
||||
await expect(welcomeDialog.getByRole("link", { name: /通知中心/ })).not.toBeVisible();
|
||||
|
||||
await page.getByTestId(TEST_IDS.onboarding.welcomeClose).evaluate((element: HTMLButtonElement) => {
|
||||
element.click();
|
||||
});
|
||||
await expect(page.getByTestId(TEST_IDS.onboarding.welcomeDialog)).not.toBeVisible();
|
||||
await expect(page.getByTestId(TEST_IDS.onboarding.gettingStartedCard)).toBeVisible();
|
||||
await page.getByTestId(TEST_IDS.onboarding.gettingStartedDismiss).click();
|
||||
await expect(page.getByTestId(TEST_IDS.onboarding.gettingStartedCard)).not.toBeVisible();
|
||||
await expect(page.getByText("快速上手")).not.toBeVisible();
|
||||
await expect(page.getByText("完善个人资料")).not.toBeVisible();
|
||||
await expect(page.getByText("了解请假流程")).not.toBeVisible();
|
||||
await expect(page.getByText("查看通知中心")).not.toBeVisible();
|
||||
await expect(page.getByRole("heading", { name: "今日任务" })).toBeVisible();
|
||||
});
|
||||
|
||||
test("个人设置默认只展示账号通知和企业微信,不展示权限 code", async ({ page }) => {
|
||||
await mockPasswordLogin(page);
|
||||
await mockNavigation(page, "employee");
|
||||
await mockPortalHome(page, "employee");
|
||||
await mockAttendanceToday(page);
|
||||
await mockNotificationList(page);
|
||||
await mockMe(page, ["employee"], "Employee");
|
||||
|
||||
await login(page, EMPLOYEE);
|
||||
await page.goto("/settings/profile");
|
||||
|
||||
await expect(page.getByRole("heading", { name: "个人设置" })).toBeVisible();
|
||||
await expect(page.getByRole("heading", { name: "账号信息" })).toBeVisible();
|
||||
await expect(page.getByRole("heading", { name: "通知设置" })).toBeVisible();
|
||||
await expect(page.getByRole("heading", { name: "企业微信绑定" })).toBeVisible();
|
||||
await expect(page.getByText("账号详情")).toBeVisible();
|
||||
await expect(page.getByText("权限摘要")).not.toBeVisible();
|
||||
await expect(page.getByText("expense.create")).not.toBeVisible();
|
||||
await expect(page.getByText("leave.submit")).not.toBeVisible();
|
||||
});
|
||||
|
||||
test("Portal bootstrap refresh 首次瞬时失败后重试成功仍保留登录态", async ({ page }) => {
|
||||
|
||||
在新工单中引用
屏蔽一个用户