perf(test): replace reconnect polling sleeps with waitFor

This commit is contained in:
Peter Steinberger
2026-02-18 17:22:18 +00:00
parent 0d25b6a317
commit 64a10e64e4

View File

@@ -105,19 +105,18 @@ describe("web auto-reply", () => {
expect(listenerFactory).toHaveBeenCalledTimes(1); expect(listenerFactory).toHaveBeenCalledTimes(1);
closeResolvers[0]?.(); closeResolvers[0]?.();
const waitForSecondCall = async () => { await vi.waitFor(
const started = Date.now(); () => {
while (listenerFactory.mock.calls.length < 2 && Date.now() - started < 200) { expect(listenerFactory).toHaveBeenCalledTimes(2);
await new Promise((resolve) => setTimeout(resolve, 10)); },
} { timeout: 500, interval: 5 },
}; );
await waitForSecondCall();
expect(listenerFactory).toHaveBeenCalledTimes(2); expect(listenerFactory).toHaveBeenCalledTimes(2);
expect(runtime.error).toHaveBeenCalledWith(expect.stringContaining("Retry 1")); expect(runtime.error).toHaveBeenCalledWith(expect.stringContaining("Retry 1"));
controller.abort(); controller.abort();
closeResolvers[1]?.(); closeResolvers[1]?.();
await new Promise((resolve) => setTimeout(resolve, 5)); await Promise.resolve();
await run; await run;
}); });
it("forces reconnect when watchdog closes without onClose", async () => { it("forces reconnect when watchdog closes without onClose", async () => {
@@ -219,11 +218,15 @@ describe("web auto-reply", () => {
expect(listenerFactory).toHaveBeenCalledTimes(1); expect(listenerFactory).toHaveBeenCalledTimes(1);
closeResolvers.shift()?.(); closeResolvers.shift()?.();
await new Promise((resolve) => setTimeout(resolve, 15)); await vi.waitFor(
() => {
expect(listenerFactory).toHaveBeenCalledTimes(2);
},
{ timeout: 500, interval: 5 },
);
expect(listenerFactory).toHaveBeenCalledTimes(2); expect(listenerFactory).toHaveBeenCalledTimes(2);
closeResolvers.shift()?.(); closeResolvers.shift()?.();
await new Promise((resolve) => setTimeout(resolve, 15));
await run; await run;
expect(runtime.error).toHaveBeenCalledWith(expect.stringContaining("max attempts reached")); expect(runtime.error).toHaveBeenCalledWith(expect.stringContaining("max attempts reached"));