import { test, expect } from "@playwright/test"; test.describe("i18n routing", () => { test("language switcher navigates between locales", async ({ page }) => { await page.goto("/en", { waitUntil: "domcontentloaded" }); // Locale switchers are links (work even without hydration) const deLink = page.getByRole("link", { name: "Sprache auf Deutsch umstellen" }); if (await deLink.count()) { // Verify an EN label is present before switching (nav.home) await expect(page.getByRole("link", { name: "Home" })).toBeVisible(); await Promise.all([ page.waitForURL(/\/de(\/|$)/, { timeout: 30000 }), deLink.click(), ]); // Verify the nav label updates after switching await expect(page.getByRole("link", { name: "Start" })).toBeVisible(); } else { test.skip(); } }); });