aboutsummaryrefslogtreecommitdiff
path: root/tests/language.spec.ts
blob: 5ff86ca5ea32e72e5a27f02416d78dea75c2105c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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();
});