diff --git a/site/test/setup/msw.ts b/site/test/setup/msw.ts index 2458492c296..a42e582ec88 100644 --- a/site/test/setup/msw.ts +++ b/site/test/setup/msw.ts @@ -8,4 +8,14 @@ afterEach(() => { server.resetHandlers(); vi.clearAllMocks(); }); -afterAll(() => server.close()); +afterAll(async () => { + // A leftover fake clock would make the timer flush below hang. + if (vi.isFakeTimers()) { + vi.useRealTimers(); + } + // Radix FocusScope defers its unmount dispatch with setTimeout(0). Flush + // it before vitest tears down the jsdom environment, where it would throw + // an unhandled "parameter 1 is not of type 'Event'" TypeError. + await new Promise((resolve) => setTimeout(resolve, 0)); + server.close(); +});