From 578dcfbcf4e83f62cf5c1914778424f2dff789cc Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 12 May 2026 02:33:10 +0100 Subject: [PATCH] test: guard discord thread title mock calls --- .../src/monitor/thread-title.generate.test.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/extensions/discord/src/monitor/thread-title.generate.test.ts b/extensions/discord/src/monitor/thread-title.generate.test.ts index 396b9c28166..620009eead1 100644 --- a/extensions/discord/src/monitor/thread-title.generate.test.ts +++ b/extensions/discord/src/monitor/thread-title.generate.test.ts @@ -11,6 +11,16 @@ const extractAssistantTextMock = vi.fn[0] { + const firstCall = completeWithPreparedSimpleCompletionModelMock.mock.calls.at(0); + if (!firstCall) { + throw new Error("expected completion call"); + } + return firstCall[0]; +} + beforeAll(async () => { ({ generateThreadTitle } = await import("./thread-title.js")); }); @@ -162,10 +172,7 @@ describe("generateThreadTitle", () => { expect(result).toBe("Generated title"); expect(completeWithPreparedSimpleCompletionModelMock).toHaveBeenCalledTimes(1); - const completionArgs = completeWithPreparedSimpleCompletionModelMock.mock.calls[0]?.[0]; - if (!completionArgs) { - throw new Error("expected completion call"); - } + const completionArgs = firstCompletionArgs(); expect(completionArgs.context).toEqual({ systemPrompt: "Generate a concise Discord thread title (3-6 words). Return only the title. Use channel context when provided and avoid redundant channel-name words unless needed for clarity.",