| import { describe, expect, it } from "vitest"; |
| import { looksLikeTelegramTargetId, normalizeTelegramMessagingTarget } from "./telegram.js"; |
|
|
| describe("normalizeTelegramMessagingTarget", () => { |
| it("normalizes t.me links to prefixed usernames", () => { |
| expect(normalizeTelegramMessagingTarget("https://t.me/MyChannel")).toBe("telegram:@mychannel"); |
| }); |
|
|
| it("keeps unprefixed topic targets valid", () => { |
| expect(normalizeTelegramMessagingTarget("@MyChannel:topic:9")).toBe( |
| "telegram:@mychannel:topic:9", |
| ); |
| expect(normalizeTelegramMessagingTarget("-1001234567890:topic:456")).toBe( |
| "telegram:-1001234567890:topic:456", |
| ); |
| }); |
|
|
| it("keeps legacy prefixed topic targets valid", () => { |
| expect(normalizeTelegramMessagingTarget("telegram:group:-1001234567890:topic:456")).toBe( |
| "telegram:group:-1001234567890:topic:456", |
| ); |
| expect(normalizeTelegramMessagingTarget("tg:group:-1001234567890:topic:456")).toBe( |
| "telegram:group:-1001234567890:topic:456", |
| ); |
| }); |
| }); |
|
|
| describe("looksLikeTelegramTargetId", () => { |
| it("recognizes unprefixed topic targets", () => { |
| expect(looksLikeTelegramTargetId("@mychannel:topic:9")).toBe(true); |
| expect(looksLikeTelegramTargetId("-1001234567890:topic:456")).toBe(true); |
| }); |
|
|
| it("recognizes legacy prefixed topic targets", () => { |
| expect(looksLikeTelegramTargetId("telegram:group:-1001234567890:topic:456")).toBe(true); |
| expect(looksLikeTelegramTargetId("tg:group:-1001234567890:topic:456")).toBe(true); |
| }); |
|
|
| it("still recognizes normalized lookup targets", () => { |
| expect(looksLikeTelegramTargetId("https://t.me/MyChannel")).toBe(true); |
| expect(looksLikeTelegramTargetId("@mychannel")).toBe(true); |
| }); |
| }); |
|
|