28 lines
1.7 KiB
TypeScript
28 lines
1.7 KiB
TypeScript
import { expect, test } from "@playwright/test";
|
||
|
||
test("waterbody detail preserves confirmed facts and empty activity state", async ({ page }) => {
|
||
await page.goto("/waterbodies/р-вьюнок");
|
||
|
||
await expect(page.locator("h1")).toHaveText("р. Вьюнок");
|
||
await expect(page.getByText("В карточке источника указано видов рыб: 29.")).toBeVisible();
|
||
await expect(page.getByText("Изображений-кандидатов: 2; публикация требует отдельной проверки.")).toBeVisible();
|
||
await expect(page.getByText("Свежих подтверждённых видов пока нет.")).toBeVisible();
|
||
await expect(page.getByText("Свежих точек пока нет")).toBeVisible();
|
||
});
|
||
|
||
test("unknown waterbody slug has a navigable not-found state", async ({ page }) => {
|
||
await page.goto("/waterbodies/not-a-real-waterbody");
|
||
|
||
await expect(page.getByRole("heading", { name: "Водоём не найден" })).toBeVisible();
|
||
await expect(page.getByRole("alert")).toContainText("Такого водоёма нет в справочнике");
|
||
await expect(page.getByRole("link", { name: "Открыть каталог" })).toHaveAttribute("href", "/waterbodies");
|
||
});
|
||
|
||
test("unknown waterbody/fish pair keeps a clear not-found state", async ({ page }) => {
|
||
await page.goto("/waterbodies/р-вьюнок/not-a-real-fish");
|
||
|
||
await expect(page.getByRole("heading", { name: "Данные не найдены" })).toBeVisible();
|
||
await expect(page.getByRole("alert")).toContainText("Такого сочетания нет в справочнике");
|
||
await expect(page.getByRole("link", { name: "Вернуться на главную" })).toHaveAttribute("href", "/");
|
||
});
|