Files
blog/tests/e2e/i18n.spec.ts
T
davide ac536bd152 Add an English translation of the corralito training-courses page
It was deliberately left Italian-only when /en support was first added;
now translated and following the same thin-page + shared-view pattern
as every other route, with the nav link and language switch no longer
special-casing it.
2026-09-11 15:39:31 +02:00

55 lines
2.1 KiB
TypeScript

import { expect, test } from '@playwright/test'
test('English home page renders in English', async ({ page }) => {
await page.goto('/en')
await expect(page.locator('html')).toHaveAttribute('lang', 'en')
await expect(page.getByRole('link', { name: 'Read the latest article' })).toBeVisible()
})
test('English blog archive lists only translated articles', async ({ page }) => {
await page.goto('/en/blog')
await expect(page.getByRole('link', { name: 'Published article' })).toBeVisible()
await expect(page.getByText('Secondo articolo pubblicato')).toHaveCount(0)
})
test('translated article renders in English at the /en prefix', async ({ page }) => {
await page.goto('/en/blog/articolo-pubblicato')
await expect(page.getByRole('heading', { level: 1, name: 'Published article' })).toBeVisible()
await expect(page.locator('.prose strong')).toHaveText('markdown')
})
test('an untranslated article 404s under /en', async ({ page }) => {
const response = await page.goto('/en/blog/secondo-articolo')
expect(response?.status()).toBe(404)
})
test('language switch links to the English version of a translated article', async ({ page }) => {
await page.goto('/blog/articolo-pubblicato')
const languageSwitch = page.getByRole('link', { name: 'English' })
await expect(languageSwitch).toHaveAttribute('href', '/en/blog/articolo-pubblicato')
})
test('language switch falls back to the English blog index for an untranslated article', async ({ page }) => {
await page.goto('/blog/secondo-articolo')
const languageSwitch = page.getByRole('link', { name: 'English' })
await expect(languageSwitch).toHaveAttribute('href', '/en/blog')
})
test('the corralito page has an English translation', async ({ page }) => {
await page.goto('/come-difendersi-dal-corralito')
const languageSwitch = page.getByRole('link', { name: 'English' })
await expect(languageSwitch).toHaveAttribute('href', '/en/come-difendersi-dal-corralito')
await page.goto('/en/come-difendersi-dal-corralito')
await expect(
page.getByRole('heading', { level: 1, name: 'How to protect yourself from the corralito' })
).toBeVisible()
})