Locale switch can take longer in dev; wait explicitly for /de URL after click. Co-authored-by: dennis <dennis@konkol.net>
26 lines
854 B
TypeScript
26 lines
854 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 Promise.all([
|
|
page.waitForURL(/\/de(\/|$)/, { timeout: 30000 }),
|
|
deButton.click(),
|
|
]);
|
|
|
|
// Verify the nav label updates after switching
|
|
await expect(page.getByRole("link", { name: "Start" })).toBeVisible();
|
|
} else {
|
|
test.skip();
|
|
}
|
|
});
|
|
});
|
|
|