test(telegram): dedupe bot message processor call setup

This commit is contained in:
Peter Steinberger
2026-02-22 00:02:44 +00:00
parent e14af1a346
commit fcb191c5cb

View File

@@ -15,8 +15,8 @@ import { createTelegramMessageProcessor } from "./bot-message.js";
describe("telegram bot message processor", () => {
beforeEach(() => {
buildTelegramMessageContext.mockReset();
dispatchTelegramMessage.mockReset();
buildTelegramMessageContext.mockClear();
dispatchTelegramMessage.mockClear();
});
const baseDeps = {
@@ -41,10 +41,9 @@ describe("telegram bot message processor", () => {
opts: {},
} as unknown as Parameters<typeof createTelegramMessageProcessor>[0];
it("dispatches when context is available", async () => {
buildTelegramMessageContext.mockResolvedValue({ route: { sessionKey: "agent:main:main" } });
const processMessage = createTelegramMessageProcessor(baseDeps);
async function processSampleMessage(
processMessage: ReturnType<typeof createTelegramMessageProcessor>,
) {
await processMessage(
{
message: {
@@ -56,6 +55,13 @@ describe("telegram bot message processor", () => {
[],
{},
);
}
it("dispatches when context is available", async () => {
buildTelegramMessageContext.mockResolvedValue({ route: { sessionKey: "agent:main:main" } });
const processMessage = createTelegramMessageProcessor(baseDeps);
await processSampleMessage(processMessage);
expect(dispatchTelegramMessage).toHaveBeenCalledTimes(1);
});
@@ -63,17 +69,7 @@ describe("telegram bot message processor", () => {
it("skips dispatch when no context is produced", async () => {
buildTelegramMessageContext.mockResolvedValue(null);
const processMessage = createTelegramMessageProcessor(baseDeps);
await processMessage(
{
message: {
chat: { id: 123, type: "private", title: "chat" },
message_id: 456,
},
} as unknown as Parameters<typeof processMessage>[0],
[],
[],
{},
);
await processSampleMessage(processMessage);
expect(dispatchTelegramMessage).not.toHaveBeenCalled();
});
});