diff --git a/packages/coding-agent/test/interactive-mode-title-prewarm.test.ts b/packages/coding-agent/test/interactive-mode-title-prewarm.test.ts index 9c8f4d33d..76f1a2661 100644 --- a/packages/coding-agent/test/interactive-mode-title-prewarm.test.ts +++ b/packages/coding-agent/test/interactive-mode-title-prewarm.test.ts @@ -87,6 +87,14 @@ describe("InteractiveMode tiny-title prewarm", () => { const prewarm = vi.spyOn(tinyTitleClient, "prewarm").mockImplementation(() => {}); await mode.init(); + // The prewarm call is deferred behind a setImmediate queued during + // init() (see interactive-mode.ts); init()'s own awaits are promise + // microtasks that can resolve without yielding to the immediate + // queue, so the prewarm may not have fired yet when init() settles. + // Flush one immediate tick before asserting. + const immediateFlushed = Promise.withResolvers(); + setImmediate(immediateFlushed.resolve); + await immediateFlushed.promise; expect(prewarm).toHaveBeenCalledWith("lfm2-350m"); });