36 lines
1.6 KiB
TypeScript
36 lines
1.6 KiB
TypeScript
import { expect, test } from "@playwright/test"
|
||
|
||
test.describe("i18n smoke", () => {
|
||
test("web renders localized page headings on key routes", async ({ page }, testInfo) => {
|
||
test.skip(testInfo.project.name !== "web-chromium")
|
||
|
||
await page.goto("/")
|
||
await page.locator("select").first().selectOption("de")
|
||
await expect(page.getByRole("heading", { name: /dein next\.js cms frontend/i })).toBeVisible()
|
||
|
||
await page.getByRole("link", { name: /über uns/i }).click()
|
||
await expect(page.getByRole("heading", { name: /über dieses projekt/i })).toBeVisible()
|
||
|
||
await page.locator("select").first().selectOption("es")
|
||
await expect(page.getByRole("heading", { name: /sobre este proyecto/i })).toBeVisible()
|
||
|
||
await page.getByRole("link", { name: /contacto/i }).click()
|
||
await expect(page.getByRole("heading", { name: /^contacto$/i })).toBeVisible()
|
||
})
|
||
|
||
test("admin login renders localized heading and labels", async ({ page }, testInfo) => {
|
||
test.skip(testInfo.project.name !== "admin-chromium")
|
||
|
||
await page.goto("/login")
|
||
await expect(page.getByRole("heading", { name: /sign in to cms admin/i })).toBeVisible()
|
||
|
||
await page.locator("select").first().selectOption("fr")
|
||
await expect(page.getByRole("heading", { name: /se connecter à cms admin/i })).toBeVisible()
|
||
await expect(page.getByLabel(/e-mail ou nom d’utilisateur/i)).toBeVisible()
|
||
|
||
await page.locator("select").first().selectOption("es")
|
||
await expect(page.getByRole("heading", { name: /iniciar sesión en cms admin/i })).toBeVisible()
|
||
await expect(page.getByLabel(/correo o nombre de usuario/i)).toBeVisible()
|
||
})
|
||
})
|