From 2a53eff8569610f48a96d1f9804e1ac8bd47d67e Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 16 Feb 2026 02:38:45 +0000 Subject: [PATCH] perf: speed up slack slash handler tests --- src/slack/monitor/slash.test-harness.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/slack/monitor/slash.test-harness.ts b/src/slack/monitor/slash.test-harness.ts index 01fb4d829b..9935b34789 100644 --- a/src/slack/monitor/slash.test-harness.ts +++ b/src/slack/monitor/slash.test-harness.ts @@ -5,6 +5,9 @@ const mocks = vi.hoisted(() => ({ readAllowFromStoreMock: vi.fn(), upsertPairingRequestMock: vi.fn(), resolveAgentRouteMock: vi.fn(), + finalizeInboundContextMock: vi.fn(), + resolveConversationLabelMock: vi.fn(), + createReplyPrefixOptionsMock: vi.fn(), })); vi.mock("../../auto-reply/reply/provider-dispatcher.js", () => ({ @@ -20,11 +23,26 @@ vi.mock("../../routing/resolve-route.js", () => ({ resolveAgentRoute: (...args: unknown[]) => mocks.resolveAgentRouteMock(...args), })); +vi.mock("../../auto-reply/reply/inbound-context.js", () => ({ + finalizeInboundContext: (...args: unknown[]) => mocks.finalizeInboundContextMock(...args), +})); + +vi.mock("../../channels/conversation-label.js", () => ({ + resolveConversationLabel: (...args: unknown[]) => mocks.resolveConversationLabelMock(...args), +})); + +vi.mock("../../channels/reply-prefix.js", () => ({ + createReplyPrefixOptions: (...args: unknown[]) => mocks.createReplyPrefixOptionsMock(...args), +})); + type SlashHarnessMocks = { dispatchMock: ReturnType; readAllowFromStoreMock: ReturnType; upsertPairingRequestMock: ReturnType; resolveAgentRouteMock: ReturnType; + finalizeInboundContextMock: ReturnType; + resolveConversationLabelMock: ReturnType; + createReplyPrefixOptionsMock: ReturnType; }; export function getSlackSlashMocks(): SlashHarnessMocks { @@ -40,4 +58,7 @@ export function resetSlackSlashMocks() { sessionKey: "session:1", accountId: "acct", }); + mocks.finalizeInboundContextMock.mockReset().mockImplementation((ctx: unknown) => ctx); + mocks.resolveConversationLabelMock.mockReset().mockReturnValue(undefined); + mocks.createReplyPrefixOptionsMock.mockReset().mockReturnValue({ onModelSelected: () => {} }); }