From e5f26adba13b6c41ff97a9b5ffead69c33d5d926 Mon Sep 17 00:00:00 2001 From: IK Date: Thu, 3 Sep 2026 18:53:17 +0700 Subject: [PATCH] test: cover home filters on desktop and mobile --- apps/web/tests/smoke.spec.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apps/web/tests/smoke.spec.ts b/apps/web/tests/smoke.spec.ts index a3d1c66..19bf2db 100644 --- a/apps/web/tests/smoke.spec.ts +++ b/apps/web/tests/smoke.spec.ts @@ -38,3 +38,20 @@ test("submitted catch appears publicly only after moderation", async ({ page }) await page.goto("/"); await expect(page.getByTestId(spotTestId)).toBeVisible(); }); + +for (const viewport of [{ name: "desktop", width: 1280, height: 900 }, { name: "mobile", width: 390, height: 844 }]) { + test(`home filters work on ${viewport.name}`, async ({ page }) => { + await page.setViewportSize(viewport); + await page.goto("/"); + await page.getByLabel("Водоём").selectOption("kuori"); + await page.getByLabel("Рыба").selectOption("lake-trout"); + await page.getByLabel("Период").selectOption("72"); + await page.getByLabel("Сначала").selectOption("freshness"); + await page.getByRole("button", { name: "⌕ Найти клёв" }).click(); + await expect(page).toHaveURL(/waterbody=kuori.*fish=lake-trout.*hours=72.*sort=freshness/); + await expect(page.getByTestId("spot-85-92")).toBeVisible(); + await expect(page.getByTestId("spot-110-103")).toHaveCount(0); + const dimensions = await page.evaluate(() => ({ width: document.documentElement.clientWidth, scroll: document.documentElement.scrollWidth })); + expect(dimensions.scroll).toBeLessThanOrEqual(dimensions.width); + }); +}