Files
portfolio/e2e/i18n.spec.ts
Cursor Agent dce6b6f567 test(e2e): click locale switcher by aria-label
Use the actual accessible name of the DE button to ensure Playwright clicks the correct element.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 16:24:00 +00:00

24 lines
813 B
TypeScript

import { test, expect } from "@playwright/test";
test.describe("i18n routing", () => {
test("language switcher navigates between locales", async ({ page }) => {
await page.goto("/en", { waitUntil: "domcontentloaded" });
// Buttons have aria-labels; click the DE switcher.
const deButton = page.getByRole("button", { name: "Sprache auf Deutsch umstellen" });
if (await deButton.count()) {
// Verify an EN label is present before switching (nav.home)
await expect(page.getByRole("link", { name: "Home" })).toBeVisible();
await deButton.click();
await expect(page).toHaveURL(/\/de(\/|$)/);
// Verify the nav label updates after switching
await expect(page.getByRole("link", { name: "Start" })).toBeVisible();
} else {
test.skip();
}
});
});