Spaces:
Running
Running
| import { describe, expect, it } from "vitest"; | |
| import { | |
| listDiscordDirectoryGroupsFromConfig, | |
| listDiscordDirectoryPeersFromConfig, | |
| listSlackDirectoryGroupsFromConfig, | |
| listSlackDirectoryPeersFromConfig, | |
| listTelegramDirectoryGroupsFromConfig, | |
| listTelegramDirectoryPeersFromConfig, | |
| listWhatsAppDirectoryGroupsFromConfig, | |
| listWhatsAppDirectoryPeersFromConfig, | |
| } from "./directory-config.js"; | |
| describe("directory (config-backed)", () => { | |
| it("lists Slack peers/groups from config", async () => { | |
| const cfg = { | |
| channels: { | |
| slack: { | |
| botToken: "xoxb-test", | |
| appToken: "xapp-test", | |
| dm: { allowFrom: ["U123", "user:U999"] }, | |
| dms: { U234: {} }, | |
| channels: { C111: { users: ["U777"] } }, | |
| }, | |
| }, | |
| } as any; | |
| const peers = await listSlackDirectoryPeersFromConfig({ | |
| cfg, | |
| accountId: "default", | |
| query: null, | |
| limit: null, | |
| }); | |
| expect(peers?.map((e) => e.id).toSorted()).toEqual([ | |
| "user:u123", | |
| "user:u234", | |
| "user:u777", | |
| "user:u999", | |
| ]); | |
| const groups = await listSlackDirectoryGroupsFromConfig({ | |
| cfg, | |
| accountId: "default", | |
| query: null, | |
| limit: null, | |
| }); | |
| expect(groups?.map((e) => e.id)).toEqual(["channel:c111"]); | |
| }); | |
| it("lists Discord peers/groups from config (numeric ids only)", async () => { | |
| const cfg = { | |
| channels: { | |
| discord: { | |
| token: "discord-test", | |
| dm: { allowFrom: ["<@111>", "nope"] }, | |
| dms: { "222": {} }, | |
| guilds: { | |
| "123": { | |
| users: ["<@12345>", "not-an-id"], | |
| channels: { | |
| "555": {}, | |
| "channel:666": {}, | |
| general: {}, | |
| }, | |
| }, | |
| }, | |
| }, | |
| }, | |
| } as any; | |
| const peers = await listDiscordDirectoryPeersFromConfig({ | |
| cfg, | |
| accountId: "default", | |
| query: null, | |
| limit: null, | |
| }); | |
| expect(peers?.map((e) => e.id).toSorted()).toEqual(["user:111", "user:12345", "user:222"]); | |
| const groups = await listDiscordDirectoryGroupsFromConfig({ | |
| cfg, | |
| accountId: "default", | |
| query: null, | |
| limit: null, | |
| }); | |
| expect(groups?.map((e) => e.id).toSorted()).toEqual(["channel:555", "channel:666"]); | |
| }); | |
| it("lists Telegram peers/groups from config", async () => { | |
| const cfg = { | |
| channels: { | |
| telegram: { | |
| botToken: "telegram-test", | |
| allowFrom: ["123", "alice", "tg:@bob"], | |
| dms: { "456": {} }, | |
| groups: { "-1001": {}, "*": {} }, | |
| }, | |
| }, | |
| } as any; | |
| const peers = await listTelegramDirectoryPeersFromConfig({ | |
| cfg, | |
| accountId: "default", | |
| query: null, | |
| limit: null, | |
| }); | |
| expect(peers?.map((e) => e.id).toSorted()).toEqual(["123", "456", "@alice", "@bob"]); | |
| const groups = await listTelegramDirectoryGroupsFromConfig({ | |
| cfg, | |
| accountId: "default", | |
| query: null, | |
| limit: null, | |
| }); | |
| expect(groups?.map((e) => e.id)).toEqual(["-1001"]); | |
| }); | |
| it("lists WhatsApp peers/groups from config", async () => { | |
| const cfg = { | |
| channels: { | |
| whatsapp: { | |
| allowFrom: ["+15550000000", "*", "123@g.us"], | |
| groups: { "999@g.us": { requireMention: true }, "*": {} }, | |
| }, | |
| }, | |
| } as any; | |
| const peers = await listWhatsAppDirectoryPeersFromConfig({ | |
| cfg, | |
| accountId: "default", | |
| query: null, | |
| limit: null, | |
| }); | |
| expect(peers?.map((e) => e.id)).toEqual(["+15550000000"]); | |
| const groups = await listWhatsAppDirectoryGroupsFromConfig({ | |
| cfg, | |
| accountId: "default", | |
| query: null, | |
| limit: null, | |
| }); | |
| expect(groups?.map((e) => e.id)).toEqual(["999@g.us"]); | |
| }); | |
| }); | |