






















@@ -238,8 +238,22 @@ function ownerParams(): Parameters<typeof runPreparedReply>[0] {
238238return params;
239239}
240240241+type MockCallSource = {
242+mock: {
243+calls: ReadonlyArray<ReadonlyArray<unknown>>;
244+};
245+};
246+247+function requireMockCallArg(mock: MockCallSource, label: string, index = 0): unknown {
248+const call = mock.mock.calls[index];
249+if (!call) {
250+throw new Error(`${label} call ${index} missing`);
251+}
252+return call[0];
253+}
254+241255function requireRunReplyAgentCall(index = 0) {
242-const call = vi.mocked(runReplyAgent).mock.calls.at(index)?.[0];
256+const call = vi.mocked(runReplyAgent).mock.calls[index]?.[0];
243257if (!call) {
244258throw new Error(`runReplyAgent call ${index} missing`);
245259}
@@ -365,9 +379,13 @@ describe("runPreparedReply media-only handling", () => {
365379);
366380367381expect(buildDirectChatContext).toHaveBeenCalledTimes(1);
368-const directContextParams = vi.mocked(buildDirectChatContext).mock.calls.at(0)?.[0] as
369-| { sessionCtx?: { Provider?: string; ChatType?: string }; sourceReplyDeliveryMode?: string }
370-| undefined;
382+const directContextParams = requireMockCallArg(
383+vi.mocked(buildDirectChatContext),
384+"direct chat context",
385+) as {
386+sessionCtx?: { Provider?: string; ChatType?: string };
387+sourceReplyDeliveryMode?: string;
388+};
371389expect(directContextParams?.sessionCtx?.Provider).toBe("telegram");
372390expect(directContextParams?.sessionCtx?.ChatType).toBe("direct");
373391expect(directContextParams?.sourceReplyDeliveryMode).toBe("message_tool_only");
@@ -1277,16 +1295,17 @@ describe("runPreparedReply media-only handling", () => {
1277129512781296const call = vi.mocked(runReplyAgent).mock.calls.at(-1)?.[0];
12791297expect(buildGroupChatContext).toHaveBeenCalledTimes(1);
1280-const groupContextParams = vi.mocked(buildGroupChatContext).mock.calls.at(0)?.[0] as
1281-| {
1282-sessionCtx?: {
1283-Provider?: string;
1284-Surface?: string;
1285-ChatType?: string;
1286-GroupChannel?: string;
1287-};
1288-}
1289-| undefined;
1298+const groupContextParams = requireMockCallArg(
1299+vi.mocked(buildGroupChatContext),
1300+"group chat context",
1301+) as {
1302+sessionCtx?: {
1303+Provider?: string;
1304+Surface?: string;
1305+ChatType?: string;
1306+GroupChannel?: string;
1307+};
1308+};
12901309expect(groupContextParams?.sessionCtx?.Provider).toBe("discord");
12911310expect(groupContextParams?.sessionCtx?.Surface).toBe("discord");
12921311expect(groupContextParams?.sessionCtx?.ChatType).toBe("channel");
@@ -1494,9 +1513,9 @@ describe("runPreparedReply media-only handling", () => {
14941513}),
14951514);
149615151497-const call = vi.mocked(resolveTypingMode).mock.calls.at(0)?.[0] as
1498-| { suppressTyping?: boolean }
1499- | undefined;
1516+const call = requireMockCallArg(vi.mocked(resolveTypingMode), "typing mode params") as {
1517+suppressTyping?: boolean;
1518+};
15001519expect(call?.suppressTyping).toBe(true);
15011520});
15021521此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。