test(telegram): dedupe bot message processor call setup
This commit is contained in:
@@ -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();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user