import { describe, expect, it, vi } from "vitest"; import { systemClock } from "../../src/adapters/platform/system-clock.ts"; describe("systemClock", () => { it("resolves after the requested duration", async () => { vi.useFakeTimers(); const caller = new AbortController(); const add = vi.spyOn(caller.signal, "addEventListener"); const remove = vi.spyOn(caller.signal, "removeEventListener"); const sleeper = systemClock.sleep(250, caller.signal); await vi.advanceTimersByTimeAsync(250); await expect(sleeper).resolves.toBeUndefined(); expect(add).toHaveBeenCalledOnce(); expect(remove).toHaveBeenCalledOnce(); vi.useRealTimers(); }); });