perf(test): use microtask wait in fetch rejection test

This commit is contained in:
Peter Steinberger
2026-02-18 16:49:57 +00:00
parent c0a6ff08a7
commit 72a4d83334

View File

@@ -2,6 +2,10 @@ import { describe, expect, it, vi } from "vitest";
import { withFetchPreconnect } from "../test-utils/fetch-mock.js";
import { resolveFetch, wrapFetchWithAbortSignal } from "./fetch.js";
async function waitForMicrotaskTurn(): Promise<void> {
await new Promise<void>((resolve) => queueMicrotask(resolve));
}
function createForeignSignalHarness() {
let abortHandler: (() => void) | null = null;
const removeEventListener = vi.fn((event: string, handler: () => void) => {
@@ -86,7 +90,7 @@ describe("wrapFetchWithAbortSignal", () => {
try {
await expect(wrapped("https://example.com", { signal: fakeSignal })).rejects.toBe(fetchError);
await Promise.resolve();
await new Promise((resolve) => setTimeout(resolve, 0));
await waitForMicrotaskTurn();
expect(unhandled).toEqual([]);
expect(removeEventListener).toHaveBeenCalledOnce();