From 21a80ced0ed688a4ab094f033cd3f450aa7e2e6e Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 12 May 2026 03:56:31 +0100 Subject: [PATCH] test: guard label generator mock calls --- .../reply/conversation-label-generator.test.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/auto-reply/reply/conversation-label-generator.test.ts b/src/auto-reply/reply/conversation-label-generator.test.ts index cc614791760..a0f4127c1eb 100644 --- a/src/auto-reply/reply/conversation-label-generator.test.ts +++ b/src/auto-reply/reply/conversation-label-generator.test.ts @@ -39,6 +39,14 @@ vi.mock("../../plugins/runtime/runtime-model-auth.runtime.js", () => ({ import { generateConversationLabel } from "./conversation-label-generator.js"; +function requireFirstMockCall(mock: { mock: { calls: T[][] } }, label: string): T[] { + const call = mock.mock.calls.at(0); + if (!call) { + throw new Error(`expected ${label} call`); + } + return call; +} + describe("generateConversationLabel", () => { beforeEach(() => { completeSimple.mockReset(); @@ -108,10 +116,7 @@ describe("generateConversationLabel", () => { }); expect(completeSimple).toHaveBeenCalledOnce(); - const call = completeSimple.mock.calls[0]; - if (!call) { - throw new Error("expected simple completion call"); - } + const call = requireFirstMockCall(completeSimple, "simple completion"); expect(call[0]).toStrictEqual({ provider: "openai" }); expect(call[1]).toStrictEqual({ systemPrompt: "Generate a label", @@ -144,7 +149,7 @@ describe("generateConversationLabel", () => { }); expect(completeSimple).toHaveBeenCalledOnce(); - const options = completeSimple.mock.calls[0]?.[2]; + const options = requireFirstMockCall(completeSimple, "simple completion")[2]; if (!options) { throw new Error("expected simple completion options"); }