diff --git a/test/e2e/fixtures.ts b/test/e2e/fixtures.ts index 529961f2..404e87f8 100644 --- a/test/e2e/fixtures.ts +++ b/test/e2e/fixtures.ts @@ -28,11 +28,11 @@ export const test = baseTest.extend<{ await context.close(); }, async extensionId({ context }, use) { - let [background] = context.serviceWorkers(); + let [sw] = context.serviceWorkers(); // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - background ??= await context.waitForEvent('serviceworker'); + sw ??= await context.waitForEvent('serviceworker', { timeout: 200 }); - const extensionId = background.url().split('/')[2]; + const extensionId = sw.url().split('/')[2]; await use(extensionId); }, }); diff --git a/test/e2e/sw.spec.ts b/test/e2e/sw.spec.ts index 47b20940..f25018b8 100644 --- a/test/e2e/sw.spec.ts +++ b/test/e2e/sw.spec.ts @@ -1,11 +1,9 @@ import { expect, test } from './fixtures'; -test('background service worker', async ({ context }) => { - let [background] = context.serviceWorkers(); - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - background ??= await context.waitForEvent('serviceworker'); - - // FIXME: Better assertions - - expect(background).toBeTruthy(); +test('has a single background service worker (sw.js)', async ({ context, extensionId }) => { + const workers = context.serviceWorkers(); + expect(workers).toHaveLength(1); + expect(workers[0]?.url()).toBe(`chrome-extension://${extensionId}/sw.js`); }); + +// TODO: Check there are no console messages or unhandled errors in the worker.