diff --git a/src/auto-reply/reply/dispatch-from-config.test.ts b/src/auto-reply/reply/dispatch-from-config.test.ts index 4173669ce..3e5d49f23 100644 --- a/src/auto-reply/reply/dispatch-from-config.test.ts +++ b/src/auto-reply/reply/dispatch-from-config.test.ts @@ -59,6 +59,7 @@ const { resetInboundDedupe } = await import("./inbound-dedupe.js"); const noAbortResult = { handled: false, aborted: false } as const; const emptyConfig = {} as OpenClawConfig; +type DispatchReplyArgs = Parameters[0]; function createDispatcher(): ReplyDispatcher { return { @@ -81,6 +82,17 @@ function firstToolResultPayload(dispatcher: ReplyDispatcher): ReplyPayload | und | undefined; } +async function dispatchTwiceWithFreshDispatchers(params: Omit) { + await dispatchReplyFromConfig({ + ...params, + dispatcher: createDispatcher(), + }); + await dispatchReplyFromConfig({ + ...params, + dispatcher: createDispatcher(), + }); +} + describe("dispatchReplyFromConfig", () => { beforeEach(() => { resetInboundDedupe(); @@ -352,16 +364,9 @@ describe("dispatchReplyFromConfig", () => { }); const replyResolver = vi.fn(async () => ({ text: "hi" }) as ReplyPayload); - await dispatchReplyFromConfig({ + await dispatchTwiceWithFreshDispatchers({ ctx, cfg, - dispatcher: createDispatcher(), - replyResolver, - }); - await dispatchReplyFromConfig({ - ctx, - cfg, - dispatcher: createDispatcher(), replyResolver, }); @@ -457,16 +462,9 @@ describe("dispatchReplyFromConfig", () => { }); const replyResolver = vi.fn(async () => ({ text: "hi" }) as ReplyPayload); - await dispatchReplyFromConfig({ + await dispatchTwiceWithFreshDispatchers({ ctx, cfg, - dispatcher: createDispatcher(), - replyResolver, - }); - await dispatchReplyFromConfig({ - ctx, - cfg, - dispatcher: createDispatcher(), replyResolver, });