From ec53d0eaae19b0e54522bc91ab06234427acafd9 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Thu, 30 Jul 2026 16:27:31 +0800 Subject: [PATCH] test(agents): mock incremental registry persistence (#116307) --- src/agents/subagent-registry.announce-loop-guard.test.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/agents/subagent-registry.announce-loop-guard.test.ts b/src/agents/subagent-registry.announce-loop-guard.test.ts index 552293bd93e6..8d273e166264 100644 --- a/src/agents/subagent-registry.announce-loop-guard.test.ts +++ b/src/agents/subagent-registry.announce-loop-guard.test.ts @@ -21,6 +21,7 @@ const mocks = vi.hoisted(() => ({ runSubagentAnnounceFlow: vi.fn().mockResolvedValue(false), captureSubagentCompletionReply: vi.fn(), loadSubagentRegistryFromSqlite: vi.fn(() => new Map()), + saveSubagentRegistryChangesToSqlite: vi.fn(), saveSubagentRegistryToSqlite: vi.fn(), resolveAgentTimeoutMs: vi.fn(() => 60_000), scheduleOrphanRecovery: vi.fn(), @@ -68,6 +69,7 @@ vi.mock("../infra/agent-events.js", () => ({ vi.mock("./subagent-registry.store.sqlite.js", () => ({ loadSubagentRegistryFromSqlite: mocks.loadSubagentRegistryFromSqlite, + saveSubagentRegistryChangesToSqlite: mocks.saveSubagentRegistryChangesToSqlite, saveSubagentRegistryToSqlite: mocks.saveSubagentRegistryToSqlite, })); @@ -131,6 +133,7 @@ describe("announce loop guard (#18264)", () => { mocks.runSubagentAnnounceFlow.mockReset(); mocks.runSubagentAnnounceFlow.mockResolvedValue(false); mocks.scheduleOrphanRecovery.mockClear(); + mocks.saveSubagentRegistryChangesToSqlite.mockClear(); mocks.saveSubagentRegistryToSqlite.mockClear(); mocks.updateSessionStore.mockClear(); registry.resetSubagentRegistryForTests({ persist: false }); @@ -221,6 +224,9 @@ describe("announce loop guard (#18264)", () => { expect(mocks.runSubagentAnnounceFlow).not.toHaveBeenCalled(); expect(entry.cleanupCompletedAt).toBeGreaterThanOrEqual(beforeInit); + expect(mocks.saveSubagentRegistryChangesToSqlite).toHaveBeenCalledWith(expect.any(Map), [ + entry.runId, + ]); }); test("expired completion-message entries are still resumed for announce", async () => {