speedtest/tests/e2e/design-switch.spec.js
sstidl 49f54a5c3c
add e2e testing (#777)
* docs(test): add playwright modes test plan

* test(e2e): add playwright phase-1 mode coverage

* test(e2e): add classic standalone no-server regression

* ci(docker): gate image build on playwright e2e

* ci(e2e): run on master push and allow manual dispatch

---------

Co-authored-by: Stefan Stidl <stefan.stidl@ffg.at>
2026-04-12 14:59:54 +02:00

29 lines
1.3 KiB
JavaScript

const { test, expect } = require('@playwright/test');
const { baseUrls } = require('./helpers/env');
const { classicStartButton, modernStartButton } = require('./helpers/ui');
test.describe('Design switch behavior', () => {
test('index.html defaults to classic when useNewDesign=false', async ({ page }) => {
await page.goto(`${baseUrls.standalone}/index.html`);
await expect(page).toHaveURL(/index-classic\.html/);
await expect(classicStartButton(page)).toBeVisible();
});
test('index.html defaults to modern when useNewDesign=true', async ({ page }) => {
await page.goto(`${baseUrls.standaloneNew}/index.html`);
await expect(page).toHaveURL(/index-modern\.html/);
await expect(modernStartButton(page)).toBeVisible();
});
test('query override design=new forces modern', async ({ page }) => {
await page.goto(`${baseUrls.standalone}/index.html?design=new`);
await expect(page).toHaveURL(/index-modern\.html\?design=new/);
await expect(modernStartButton(page)).toBeVisible();
});
test('query override design=old forces classic', async ({ page }) => {
await page.goto(`${baseUrls.standaloneNew}/index.html?design=old`);
await expect(page).toHaveURL(/index-classic\.html\?design=old/);
await expect(classicStartButton(page)).toBeVisible();
});
});