From 2fd29af86cf49213f15d43d9d6637fb72c1ca43c Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 9 May 2026 05:30:01 +0100 Subject: [PATCH] test: tighten wait forever interval assertion --- src/cli/cli-utils.test.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/cli/cli-utils.test.ts b/src/cli/cli-utils.test.ts index 3fa2f3de8ca..d18129162c6 100644 --- a/src/cli/cli-utils.test.ts +++ b/src/cli/cli-utils.test.ts @@ -11,11 +11,20 @@ import { waitForever } from "./wait.js"; describe("waitForever", () => { it("creates an unref'ed interval and returns a pending promise", () => { - const setIntervalSpy = vi.spyOn(global, "setInterval"); - const promise = waitForever(); - expect(setIntervalSpy).toHaveBeenCalledWith(expect.any(Function), 1_000_000); - expect(promise).toBeInstanceOf(Promise); - setIntervalSpy.mockRestore(); + const unref = vi.fn(); + const interval = { unref } as unknown as ReturnType; + const setIntervalSpy = vi.spyOn(global, "setInterval").mockReturnValue(interval); + try { + const promise = waitForever(); + expect(setIntervalSpy).toHaveBeenCalledTimes(1); + const [callback, delay] = setIntervalSpy.mock.calls[0] ?? []; + expect(typeof callback).toBe("function"); + expect(delay).toBe(1_000_000); + expect(unref).toHaveBeenCalledTimes(1); + expect(promise).toBeInstanceOf(Promise); + } finally { + setIntervalSpy.mockRestore(); + } }); });