aboutsummaryrefslogtreecommitdiff
path: root/tests/language.spec.ts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/language.spec.ts24
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();
+});