From 12f3153cc2452631f80aa11118eb07653008288b Mon Sep 17 00:00:00 2001 From: Thibault Camlane Date: Mon, 16 Jun 2025 11:51:40 +0200 Subject: [PATCH] test: Add e2e test for mobile homepage --- frontend/tests/e2e/homepage.mobile.spec.ts | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 frontend/tests/e2e/homepage.mobile.spec.ts diff --git a/frontend/tests/e2e/homepage.mobile.spec.ts b/frontend/tests/e2e/homepage.mobile.spec.ts new file mode 100644 index 0000000..988f5c7 --- /dev/null +++ b/frontend/tests/e2e/homepage.mobile.spec.ts @@ -0,0 +1,47 @@ +import { test, expect } from "@playwright/test"; +import exp from "constants"; + +test.describe("Homepage Test", () => { + test.use({ + viewport: { width: 390, height: 844 }, + }); + test("CheckSatelliteSelector", async ({ page }) => { + await page.goto("/"); + await expect( + page.getByTestId("satellite-dropdown-button"), + ).toBeVisible(); + await page.getByTestId("satellite-dropdown-button").click(); + await expect(page.getByTestId("satellite-dropdown-list")).toBeVisible(); + await expect( + page.getByTestId("satellite-dropdown-list").getByRole("option"), + ).toHaveCount(2); // By default, there are two options: "Hypso-1" and "Hypso-2" + await page + .getByTestId("satellite-dropdown-list") + .getByRole("option") + .nth(1) + .click(); + await expect(page.getByTestId("satellite-name")).toHaveText("HYPSO-2"); + }); + test("CheckPassOverTimeSelector", async ({ page }) => { + await page.goto("/"); + await expect(page.getByTestId("location-name")).toHaveText("Trondheim"); + await expect( + page.getByTestId("location-dropdown-button"), + ).toBeVisible(); + await page.getByTestId("location-dropdown-button").click(); + await expect(page.getByTestId("location-dropdown-list")).toHaveCount(1); // By default, only one location is available + await expect(page.getByTestId("latitude-input")).toBeVisible(); + await expect(page.getByTestId("longitude-input")).toBeVisible(); + await page.getByTestId("latitude-input").fill("1"); + await page.getByTestId("longitude-input").fill("1"); + await page.getByTestId("add-location-button").click(); + await page + .getByTestId("location-dropdown-list") + .getByRole("option") + .nth(1) + .click(); + await expect(page.getByTestId("location-name")).toHaveText( + "1.00° N, 1.00° E", + ); + }); +});