zonemaster-gui/e2e/FR05.e2e-spec.ts
Gaël Berthaud-Müller 1001c316cf update e2e tests
2023-12-07 20:11:10 +01:00

32 lines
1.3 KiB
TypeScript

const { test, expect } = require('@playwright/test');
import { goToHome, setLang } from './utils/app.utils';
test.describe('Zonemaster test FR05 - [Supports internationalization]', () => {
test.beforeEach(async ({ page }) => {
await goToHome(page);
});
const testSuite = [
{ language: 'Danish', code: 'da', expected: 'Domænenavn' },
{ language: 'English', code: 'en', expected: 'Domain name' },
{ language: 'Spanish', code: 'es', expected: 'Nombre de dominio' },
{ language: 'Finnish', code: 'fi', expected: 'Verkkotunnus' },
{ language: 'French', code: 'fr', expected: 'Nom de domaine' },
{ language: 'Norwegian', code: 'nb', expected: 'Domenenavn' },
{ language: 'Swedish', code: 'sv', expected: 'Domännamn' },
];
for (const { language, code, expected } of testSuite) {
test(`should have ${language} language option`, async ({ page }) => {
const langNavLink = page.locator(`select#languageSelection > option[lang="${code}"]`);
await expect(langNavLink).toHaveCount(1);
await expect(langNavLink).toHaveAttribute('lang', code);
})
test(`should switch to ${language}`, async ({ page }) => {
await setLang(page, code);
await expect(page.locator('label[for="input-domain-form"]')).toHaveText(expected);
})
}
});