Files
2026-07-03 21:05:07 +02:00

29 lines
1.0 KiB
JavaScript

import { expect, test } from '@playwright/test';
test('loads the app shell, shows playback UI, and registers a service worker', async ({ page }) => {
await page.goto('/');
await expect(page.locator('.app-title')).toHaveText('RadioPlayer');
await expect(page.locator('#play-btn')).toBeVisible();
await expect(page.locator('#mute-btn')).toBeVisible();
await expect(page.locator('#station-library')).toBeVisible();
await expect(page.locator('#station-name')).not.toHaveText('', { timeout: 20000 });
const serviceWorkerState = await page.evaluate(async () => {
if (!('serviceWorker' in navigator)) {
return { supported: false, controlled: false, scope: '' };
}
const registration = await navigator.serviceWorker.ready;
return {
supported: true,
controlled: Boolean(navigator.serviceWorker.controller),
scope: registration.scope,
};
});
expect(serviceWorkerState.supported).toBe(true);
expect(serviceWorkerState.controlled).toBe(true);
expect(serviceWorkerState.scope).toContain('4174');
});