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() })