OpenClawBot / src /channels /plugins /directory-config.test.ts
darkfire514's picture
Upload 2526 files
fb4d8fe verified
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"]);
});
});