From b8f70ffcabbbed7eef36023e9227e4bfe85b151a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 14 Feb 2026 22:24:34 +0000 Subject: [PATCH] refactor(test): share telegram message ctx setup --- .../bot-message-context.sender-prefix.test.ts | 96 +++---------------- 1 file changed, 14 insertions(+), 82 deletions(-) diff --git a/src/telegram/bot-message-context.sender-prefix.test.ts b/src/telegram/bot-message-context.sender-prefix.test.ts index c93e8df89..2a6a8cd22 100644 --- a/src/telegram/bot-message-context.sender-prefix.test.ts +++ b/src/telegram/bot-message-context.sender-prefix.test.ts @@ -2,11 +2,14 @@ import { describe, expect, it, vi } from "vitest"; import { buildTelegramMessageContext } from "./bot-message-context.js"; describe("buildTelegramMessageContext sender prefix", () => { - it("prefixes group bodies with sender label", async () => { - const ctx = await buildTelegramMessageContext({ + async function buildCtx(params: { + messageId: number; + options?: Record; + }): Promise>> { + return await buildTelegramMessageContext({ primaryCtx: { message: { - message_id: 1, + message_id: params.messageId, chat: { id: -99, type: "supergroup", title: "Dev Chat" }, date: 1700000000, text: "hello", @@ -16,7 +19,7 @@ describe("buildTelegramMessageContext sender prefix", () => { } as never, allMedia: [], storeAllowFrom: [], - options: {}, + options: params.options ?? {}, bot: { api: { sendChatAction: vi.fn(), @@ -43,6 +46,10 @@ describe("buildTelegramMessageContext sender prefix", () => { topicConfig: undefined, }), }); + } + + it("prefixes group bodies with sender label", async () => { + const ctx = await buildCtx({ messageId: 1 }); expect(ctx).not.toBeNull(); const body = ctx?.ctxPayload?.Body ?? ""; @@ -50,91 +57,16 @@ describe("buildTelegramMessageContext sender prefix", () => { }); it("sets MessageSid from message_id", async () => { - const ctx = await buildTelegramMessageContext({ - primaryCtx: { - message: { - message_id: 12345, - chat: { id: -99, type: "supergroup", title: "Dev Chat" }, - date: 1700000000, - text: "hello", - from: { id: 42, first_name: "Alice" }, - }, - me: { id: 7, username: "bot" }, - } as never, - allMedia: [], - storeAllowFrom: [], - options: {}, - bot: { - api: { - sendChatAction: vi.fn(), - setMessageReaction: vi.fn(), - }, - } as never, - cfg: { - agents: { defaults: { model: "anthropic/claude-opus-4-5", workspace: "/tmp/openclaw" } }, - channels: { telegram: {} }, - messages: { groupChat: { mentionPatterns: [] } }, - } as never, - account: { accountId: "default" } as never, - historyLimit: 0, - groupHistories: new Map(), - dmPolicy: "open", - allowFrom: [], - groupAllowFrom: [], - ackReactionScope: "off", - logger: { info: vi.fn() }, - resolveGroupActivation: () => undefined, - resolveGroupRequireMention: () => false, - resolveTelegramGroupConfig: () => ({ - groupConfig: { requireMention: false }, - topicConfig: undefined, - }), - }); + const ctx = await buildCtx({ messageId: 12345 }); expect(ctx).not.toBeNull(); expect(ctx?.ctxPayload?.MessageSid).toBe("12345"); }); it("respects messageIdOverride option", async () => { - const ctx = await buildTelegramMessageContext({ - primaryCtx: { - message: { - message_id: 12345, - chat: { id: -99, type: "supergroup", title: "Dev Chat" }, - date: 1700000000, - text: "hello", - from: { id: 42, first_name: "Alice" }, - }, - me: { id: 7, username: "bot" }, - } as never, - allMedia: [], - storeAllowFrom: [], + const ctx = await buildCtx({ + messageId: 12345, options: { messageIdOverride: "67890" }, - bot: { - api: { - sendChatAction: vi.fn(), - setMessageReaction: vi.fn(), - }, - } as never, - cfg: { - agents: { defaults: { model: "anthropic/claude-opus-4-5", workspace: "/tmp/openclaw" } }, - channels: { telegram: {} }, - messages: { groupChat: { mentionPatterns: [] } }, - } as never, - account: { accountId: "default" } as never, - historyLimit: 0, - groupHistories: new Map(), - dmPolicy: "open", - allowFrom: [], - groupAllowFrom: [], - ackReactionScope: "off", - logger: { info: vi.fn() }, - resolveGroupActivation: () => undefined, - resolveGroupRequireMention: () => false, - resolveTelegramGroupConfig: () => ({ - groupConfig: { requireMention: false }, - topicConfig: undefined, - }), }); expect(ctx).not.toBeNull();