Унифицированы экраны, требующие авторизации, в гостевом режиме

This commit is contained in:
mi
2026-07-30 19:47:10 +03:00
parent e24ed9d8ef
commit 1a420eeaf0
7 changed files with 124 additions and 69 deletions
@@ -67,7 +67,8 @@ test("Колокольчик открывает центр уведомлени
await page.getByRole("link", { name: "Уведомления" }).click();
await expect(page).toHaveURL(/\/notifications$/);
await expect(page.getByRole("heading", { name: "Центр уведомлений" })).toBeVisible();
await expect(page.getByText(/доступны после входа/)).toBeVisible();
await expect(page.getByRole("heading", { name: "Уведомления доступны после входа" })).toBeVisible();
await expect(page.getByRole("button", { name: "Авторизоваться" })).toBeVisible();
});
test("первое сообщение требует обязательные согласия", async ({ page }) => {
@@ -99,6 +100,18 @@ test("профиль гостя не делает защищённый запр
let protectedCalls = 0;
await page.route("**/api/v1/me", (route) => { protectedCalls++; return route.abort(); });
await page.goto("/profile");
await expect(page.getByText("Профиль доступен после авторизации.")).toBeVisible();
await expect(page.getByRole("heading", { name: "Профиль доступен после входа" })).toBeVisible();
await expect(page.getByText("Авторизуйтесь, чтобы видеть личные данные и документы компании.")).toBeVisible();
await expect(page.getByRole("button", { name: "Авторизоваться" })).toBeVisible();
expect(protectedCalls).toBe(0);
});
test("гостевой чат предлагает авторизоваться", async ({ page }) => {
await page.goto("/dialogs");
await expect(page.getByRole("heading", { name: "Чат доступен после входа" })).toBeVisible();
await expect(page.getByText("Авторизуйтесь, чтобы переписываться с оператором и получать ответы.")).toBeVisible();
await page.getByRole("button", { name: "Авторизоваться" }).click();
await expect(page).toHaveURL(/\/\?authorize=1$/);
await expect(page.getByRole("heading", { name: "Перед началом работы" })).toBeVisible();
});