You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
2.0 KiB
TypeScript
52 lines
2.0 KiB
TypeScript
// frontend/playwright/notify.spec.ts — 알림 트리아지 E2E
|
|
// 백엔드는 ARI_ALLOW_TEST_RESET=1 LLM_PROVIDER=heuristic 로 기동 가정.
|
|
import { expect, test } from "@playwright/test";
|
|
import { resetSeed } from "./fixtures/seed-reset";
|
|
|
|
test.describe.configure({ mode: "serial" });
|
|
|
|
test.beforeEach(async () => {
|
|
await resetSeed();
|
|
});
|
|
|
|
test("트리아지 기본 + 이유 칩", async ({ page }) => {
|
|
await page.goto("/notifications");
|
|
await expect(page.getByText("수아님 — 분기 리포트 피드백")).toBeVisible();
|
|
await expect(page.getByText("VIP 발신자")).toBeVisible(); // 이유 칩
|
|
await expect(page.getByText(/오늘 47건 도착/)).toBeVisible(); // eyebrow
|
|
});
|
|
|
|
test("나중에 미루기 → '내가 미룸' 이유 칩", async ({ page }) => {
|
|
await page.goto("/notifications");
|
|
await page
|
|
.locator(".nt-row", { hasText: "수아님 — 분기 리포트 피드백" })
|
|
.getByRole("button", { name: "나중에" })
|
|
.click();
|
|
await page.locator(".nt-tab", { hasText: "나중에" }).click();
|
|
await expect(page.getByText("내가 미룸")).toBeVisible();
|
|
});
|
|
|
|
test("되돌리기 → '되돌림' 이유 칩", async ({ page }) => {
|
|
await page.goto("/notifications");
|
|
await page.locator(".nt-tab", { hasText: "아리가 처리" }).click();
|
|
await page
|
|
.locator(".nt-row", { hasText: "회의 초대 자동 수락" })
|
|
.getByRole("button", { name: "되돌리기" })
|
|
.click();
|
|
await page.locator(".nt-tab", { hasText: "지금" }).click();
|
|
await expect(page.getByText("되돌림")).toBeVisible();
|
|
});
|
|
|
|
test("발신자 규칙 뷰", async ({ page }) => {
|
|
await page.goto("/notifications");
|
|
await page.getByRole("button", { name: "발신자 규칙" }).click();
|
|
await expect(page.getByText("수아님")).toBeVisible();
|
|
await expect(page.getByText("항상 즉시")).toBeVisible();
|
|
});
|
|
|
|
test("집중 보호 토글", async ({ page }) => {
|
|
await page.goto("/notifications");
|
|
await page.getByRole("button", { name: "집중 보호 · 묶음" }).click();
|
|
await expect(page.getByText(/딥 워크 보호/).first()).toBeVisible();
|
|
});
|