Use the actual accessible name of the DE button to ensure Playwright clicks the correct element. Co-authored-by: dennis <dennis@konkol.net>
24 lines
813 B
TypeScript
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();
|
|
}
|
|
});
|
|
});
|
|
|