From c0490aa418a53f8bee639db703dbd038961ffe82 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 20 Apr 2026 17:14:43 +0100 Subject: [PATCH] test: share telegram dm access fixture --- extensions/telegram/src/dm-access.test.ts | 57 ++++++++++------------- 1 file changed, 24 insertions(+), 33 deletions(-) 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);