From 1e9d8b4d92f4e2ced3d7d571ba83d7444f2889ab Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 8 May 2026 21:07:02 +0100 Subject: [PATCH] test: tighten telegram context assertions --- .../src/bot-message-context.dm-threads.test.ts | 8 +++++--- ...bot-message-context.dm-topic-threadid.test.ts | 16 ++++++++++++---- .../bot-message-context.require-mention.test.ts | 12 +++++++++--- extensions/telegram/src/sticker-cache.test.ts | 6 +++++- 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/extensions/telegram/src/bot-message-context.dm-threads.test.ts b/extensions/telegram/src/bot-message-context.dm-threads.test.ts index 33a46b7a23c..090fcb47176 100644 --- a/extensions/telegram/src/bot-message-context.dm-threads.test.ts +++ b/extensions/telegram/src/bot-message-context.dm-threads.test.ts @@ -208,11 +208,13 @@ describe("buildTelegramMessageContext group sessions without forum", () => { from: { id: 42, first_name: "Alice" }, }); - expect(ctx).not.toBeNull(); + if (!ctx) { + throw new Error("expected Telegram non-forum group context"); + } // Session key should NOT include :topic:42 - expect(ctx?.ctxPayload?.SessionKey).toBe("agent:main:telegram:group:-1001234567890"); + expect(ctx.ctxPayload.SessionKey).toBe("agent:main:telegram:group:-1001234567890"); // MessageThreadId should be undefined (not a forum) - expect(ctx?.ctxPayload?.MessageThreadId).toBeUndefined(); + expect(ctx.ctxPayload.MessageThreadId).toBeUndefined(); }); it("keeps same session for regular group with and without message_thread_id", async () => { diff --git a/extensions/telegram/src/bot-message-context.dm-topic-threadid.test.ts b/extensions/telegram/src/bot-message-context.dm-topic-threadid.test.ts index 3ca63a75c15..3d079be9076 100644 --- a/extensions/telegram/src/bot-message-context.dm-topic-threadid.test.ts +++ b/extensions/telegram/src/bot-message-context.dm-topic-threadid.test.ts @@ -67,7 +67,9 @@ describe("buildTelegramMessageContext DM topic threadId in deliveryContext (#889 }, }); - expect(ctx?.ctxPayload).toBeDefined(); + if (!ctx?.ctxPayload) { + throw new Error("expected Telegram DM topic context payload"); + } expect(recordInboundSessionMock).toHaveBeenCalled(); expectRecordedRoute({ to: "telegram:1234", threadId: "42" }); @@ -80,7 +82,9 @@ describe("buildTelegramMessageContext DM topic threadId in deliveryContext (#889 }, }); - expect(ctx?.ctxPayload).toBeDefined(); + if (!ctx?.ctxPayload) { + throw new Error("expected Telegram DM context payload"); + } expect(recordInboundSessionMock).toHaveBeenCalled(); expectRecordedRoute({ to: "telegram:1234" }); @@ -97,7 +101,9 @@ describe("buildTelegramMessageContext DM topic threadId in deliveryContext (#889 resolveGroupActivation: () => true, }); - expect(ctx?.ctxPayload).toBeDefined(); + if (!ctx?.ctxPayload) { + throw new Error("expected Telegram forum topic context payload"); + } expect(recordInboundSessionMock).toHaveBeenCalled(); expectRecordedRoute({ to: "telegram:-1001234567890:topic:99", threadId: "99" }); @@ -113,7 +119,9 @@ describe("buildTelegramMessageContext DM topic threadId in deliveryContext (#889 resolveGroupActivation: () => true, }); - expect(ctx?.ctxPayload).toBeDefined(); + if (!ctx?.ctxPayload) { + throw new Error("expected Telegram General topic context payload"); + } expect(recordInboundSessionMock).toHaveBeenCalled(); expectRecordedRoute({ to: "telegram:-1001234567890:topic:1", threadId: "1" }); diff --git a/extensions/telegram/src/bot-message-context.require-mention.test.ts b/extensions/telegram/src/bot-message-context.require-mention.test.ts index 90a7de251a8..6154f0cbc77 100644 --- a/extensions/telegram/src/bot-message-context.require-mention.test.ts +++ b/extensions/telegram/src/bot-message-context.require-mention.test.ts @@ -56,7 +56,9 @@ describe("buildTelegramMessageContext requireMention precedence", () => { }), }); - expect(ctx).not.toBeNull(); + if (!ctx) { + throw new Error("expected Telegram context when topic disables requireMention"); + } }); it("lets explicit topic requireMention=false override mention activation", async () => { @@ -72,7 +74,9 @@ describe("buildTelegramMessageContext requireMention precedence", () => { }), }); - expect(ctx?.ctxPayload).toBeDefined(); + if (!ctx?.ctxPayload) { + throw new Error("expected Telegram context payload when topic disables requireMention"); + } expect(resolveGroupActivation).toHaveBeenCalledWith( expect.objectContaining({ chatId: -1001234567890, @@ -107,6 +111,8 @@ describe("buildTelegramMessageContext requireMention precedence", () => { }), }); - expect(ctx).not.toBeNull(); + if (!ctx) { + throw new Error("expected Telegram context when topic config keeps agent"); + } }); }); diff --git a/extensions/telegram/src/sticker-cache.test.ts b/extensions/telegram/src/sticker-cache.test.ts index b73c101a7c8..966bbbdd01a 100644 --- a/extensions/telegram/src/sticker-cache.test.ts +++ b/extensions/telegram/src/sticker-cache.test.ts @@ -59,7 +59,11 @@ describe("sticker-cache", () => { }; stickerCache.cacheSticker(sticker); - expect(stickerCache.getCachedSticker("unique123")).not.toBeNull(); + const cachedSticker = stickerCache.getCachedSticker("unique123"); + if (!cachedSticker) { + throw new Error("expected cached Telegram sticker"); + } + expect(cachedSticker.fileUniqueId).toBe("unique123"); jsonStoreMocks.store.value = null;