From c25a18493e3e2c224b0e31c9307f57363891b254 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 18 Feb 2026 23:21:03 +0000 Subject: [PATCH] test: merge direct announce origin variants --- .../subagent-announce.format.e2e.test.ts | 45 +++++++++---------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/src/agents/subagent-announce.format.e2e.test.ts b/src/agents/subagent-announce.format.e2e.test.ts index 1af9df2e529..b6e594a401b 100644 --- a/src/agents/subagent-announce.format.e2e.test.ts +++ b/src/agents/subagent-announce.format.e2e.test.ts @@ -795,16 +795,31 @@ describe("subagent announce formatting", () => { expect(accountIds).toEqual(expect.arrayContaining(["acct-a", "acct-b"])); }); - it("uses requester origin for direct announce when not queued", async () => { + it.each([ + { + testName: "uses requester origin for direct announce when not queued", + childRunId: "run-direct", + requesterOrigin: { channel: "whatsapp", accountId: "acct-123" }, + expectedChannel: "whatsapp", + expectedAccountId: "acct-123", + }, + { + testName: "normalizes requesterOrigin for direct announce delivery", + childRunId: "run-direct-origin", + requesterOrigin: { channel: " whatsapp ", accountId: " acct-987 " }, + expectedChannel: "whatsapp", + expectedAccountId: "acct-987", + }, + ] as const)("$testName", async (testCase) => { const { runSubagentAnnounceFlow } = await import("./subagent-announce.js"); embeddedRunMock.isEmbeddedPiRunActive.mockReturnValue(false); embeddedRunMock.isEmbeddedPiRunStreaming.mockReturnValue(false); const didAnnounce = await runSubagentAnnounceFlow({ childSessionKey: "agent:main:subagent:test", - childRunId: "run-direct", + childRunId: testCase.childRunId, requesterSessionKey: "agent:main:main", - requesterOrigin: { channel: "whatsapp", accountId: "acct-123" }, + requesterOrigin: testCase.requesterOrigin, requesterDisplayKey: "main", ...defaultOutcomeAnnounce, }); @@ -814,8 +829,8 @@ describe("subagent announce formatting", () => { params?: Record; expectFinal?: boolean; }; - expect(call?.params?.channel).toBe("whatsapp"); - expect(call?.params?.accountId).toBe("acct-123"); + expect(call?.params?.channel).toBe(testCase.expectedChannel); + expect(call?.params?.accountId).toBe(testCase.expectedAccountId); expect(call?.expectFinal).toBe(true); }); @@ -998,26 +1013,6 @@ describe("subagent announce formatting", () => { expect(agentSpy).not.toHaveBeenCalled(); }); - it("normalizes requesterOrigin for direct announce delivery", async () => { - const { runSubagentAnnounceFlow } = await import("./subagent-announce.js"); - embeddedRunMock.isEmbeddedPiRunActive.mockReturnValue(false); - embeddedRunMock.isEmbeddedPiRunStreaming.mockReturnValue(false); - - const didAnnounce = await runSubagentAnnounceFlow({ - childSessionKey: "agent:main:subagent:test", - childRunId: "run-direct-origin", - requesterSessionKey: "agent:main:main", - requesterOrigin: { channel: " whatsapp ", accountId: " acct-987 " }, - requesterDisplayKey: "main", - ...defaultOutcomeAnnounce, - }); - - expect(didAnnounce).toBe(true); - const call = agentSpy.mock.calls[0]?.[0] as { params?: Record }; - expect(call?.params?.channel).toBe("whatsapp"); - expect(call?.params?.accountId).toBe("acct-987"); - }); - it("prefers requesterOrigin channel over stale session lastChannel in queued announce", async () => { const { runSubagentAnnounceFlow } = await import("./subagent-announce.js"); embeddedRunMock.isEmbeddedPiRunActive.mockReturnValue(true);