diff options
| author | LalleSX | 2026-10-24 14:58:21 +0200 |
|---|---|---|
| committer | LalleSX | 2026-10-24 14:58:21 +0200 |
| commit | 73b09270c54acab810c10a80bed1d77c1a7bb2ab (patch) | |
| tree | e5bae1180c9a76345cc7779a24988875542d2dd9 /tests/language.spec.ts | |
| parent | Add tests for math rendering and interactive scenes; update navigation and viewport handling (diff) | |
| download | 3D-Electrophysics-main.tar.gz 3D-Electrophysics-main.zip | |
Diffstat (limited to '')
| -rw-r--r-- | tests/language.spec.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/language.spec.ts b/tests/language.spec.ts new file mode 100644 index 0000000..5ff86ca --- /dev/null +++ b/tests/language.spec.ts @@ -0,0 +1,24 @@ +import { expect, test } from '@playwright/test'; + +test('the language picker switches the whole lesson between English and Danish', async ({ page }) => { + await page.goto('/#field'); + await expect(page.locator('html')).toHaveAttribute('lang', 'en'); + await page.locator('#language').selectOption('da'); + await expect(page.locator('html')).toHaveAttribute('lang', 'da'); + await expect(page).toHaveTitle('Test 4 i 3D · Elektrofysiklaboratoriet'); + await expect(page.getByRole('heading', { name: 'Elektrisk ladning, kraft og felt', exact: true })).toBeVisible(); + await expect(page.getByRole('slider', { name: 'Ladningsafstand', exact: true })).toBeVisible(); + await expect(page.getByLabel('Vekselvirkning', { exact: true })).toHaveText('Tiltrækkende'); + await page.getByLabel('Ladningstegn', { exact: true }).selectOption('like'); + await expect(page.getByLabel('Vekselvirkning', { exact: true })).toHaveText('Frastødende'); + await page.getByRole('link', { name: 'Test 4 i 3D', exact: true }).click(); + await expect(page.getByRole('heading', { name: 'Arbejde langs en bane', exact: true })).toBeVisible(); + await expect(page.getByRole('button', { name: 'Vis forklaring' })).toBeVisible(); + await expect(page.locator('#observation')).toContainText('arbejde'); + await page.reload(); + await expect(page.getByRole('heading', { name: 'Arbejde langs en bane', exact: true })).toBeVisible(); + await page.locator('#language').selectOption('en'); + await expect(page.locator('html')).toHaveAttribute('lang', 'en'); + await expect(page.getByRole('heading', { name: 'Work along a path', exact: true })).toBeVisible(); + await expect(page.getByRole('button', { name: 'Reveal explanation' })).toBeVisible(); +}); |