diff --git a/extensions/telegram/src/dm-access.test.ts b/extensions/telegram/src/dm-access.test.ts index 5d4075f37f4..caa53c84966 100644 --- a/extensions/telegram/src/dm-access.test.ts +++ b/extensions/telegram/src/dm-access.test.ts @@ -51,6 +51,26 @@ function createDmMessage(overrides: Partial = {}): Message { } as Message; } +async function enforceDefaultDmAccess(params: { + dmPolicy: "open" | "disabled" | "pairing"; + allow?: string[]; +}) { + const bot = { api: { sendMessage: vi.fn(async () => undefined) } }; + const allowed = await enforceTelegramDmAccess({ + isGroup: false, + dmPolicy: params.dmPolicy, + msg: createDmMessage(), + chatId: 42, + effectiveDmAllow: normalizeAllowFrom(params.allow ?? []), + accountId: "main", + bot: bot as never, + logger: { info: vi.fn() }, + upsertPairingRequest: upsertChannelPairingRequestMock, + }); + + return { allowed, bot }; +} + describe("enforceTelegramDmAccess", () => { beforeAll(async () => { ({ enforceTelegramDmAccess } = await import("./dm-access.js")); @@ -61,51 +81,22 @@ describe("enforceTelegramDmAccess", () => { }); it("allows DMs when policy is open", async () => { - const bot = { api: { sendMessage: vi.fn(async () => undefined) } }; - - const allowed = await enforceTelegramDmAccess({ - isGroup: false, - dmPolicy: "open", - msg: createDmMessage(), - chatId: 42, - effectiveDmAllow: normalizeAllowFrom([]), - accountId: "main", - bot: bot as never, - logger: { info: vi.fn() }, - upsertPairingRequest: upsertChannelPairingRequestMock, - }); + const { allowed, bot } = await enforceDefaultDmAccess({ dmPolicy: "open" }); expect(allowed).toBe(true); expect(bot.api.sendMessage).not.toHaveBeenCalled(); }); it("blocks DMs when policy is disabled", async () => { - const allowed = await enforceTelegramDmAccess({ - isGroup: false, - dmPolicy: "disabled", - msg: createDmMessage(), - chatId: 42, - effectiveDmAllow: normalizeAllowFrom([]), - accountId: "main", - bot: { api: { sendMessage: vi.fn(async () => undefined) } } as never, - logger: { info: vi.fn() }, - upsertPairingRequest: upsertChannelPairingRequestMock, - }); + const { allowed } = await enforceDefaultDmAccess({ dmPolicy: "disabled" }); expect(allowed).toBe(false); }); it("allows DMs for allowlisted senders under pairing policy", async () => { - const allowed = await enforceTelegramDmAccess({ - isGroup: false, + const { allowed } = await enforceDefaultDmAccess({ dmPolicy: "pairing", - msg: createDmMessage(), - chatId: 42, - effectiveDmAllow: normalizeAllowFrom(["12345"]), - accountId: "main", - bot: { api: { sendMessage: vi.fn(async () => undefined) } } as never, - logger: { info: vi.fn() }, - upsertPairingRequest: upsertChannelPairingRequestMock, + allow: ["12345"], }); expect(allowed).toBe(true);