sendou.ink/e2e/badges.spec.ts
2026-01-03 19:25:38 +02:00

50 lines
1.1 KiB
TypeScript

import {
expect,
impersonate,
navigate,
seed,
selectUser,
test,
} from "~/utils/playwright";
import { badgePage } from "~/utils/urls";
import { NZAP_TEST_ID } from "../app/db/seed/constants";
test.describe("Badges", () => {
test("adds a badge owner sending a notification", async ({ page }) => {
await seed(page);
await impersonate(page, NZAP_TEST_ID);
await navigate({
page,
url: badgePage(1),
});
await page.getByRole("link", { name: "Edit", exact: true }).click();
await selectUser({
page,
userName: "Sendou",
labelName: "Add new owner",
});
await page.getByRole("button", { name: "Submit", exact: true }).click();
await impersonate(page);
await navigate({
page,
url: "/",
});
await page.getByTestId("notifications-button").click();
await page.getByText("New badge (4v4 Sundaes)").click();
await expect(page).toHaveURL(badgePage(1));
await page.getByTestId("notifications-button").click();
await page.getByTestId("notifications-see-all-button").click();
await expect(
page.getByRole("heading", { name: "Notifications" }),
).toBeVisible();
});
});