Files
openclaw/extensions/slack/src/message-tool-api.test.ts
2026-04-17 02:00:26 -04:00

45 lines
1.1 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { describeSlackMessageTool } from "./message-tool-api.js";
describe("Slack message tool public API", () => {
it("describes configured Slack message actions without loading channel runtime", () => {
expect(
describeSlackMessageTool({
cfg: {
channels: {
slack: {
botToken: "xoxb-test",
},
},
},
}),
).toMatchObject({
actions: expect.arrayContaining(["send", "upload-file", "read"]),
capabilities: expect.arrayContaining(["blocks"]),
});
});
it("honors account-scoped action gates", () => {
expect(
describeSlackMessageTool({
cfg: {
channels: {
slack: {
botToken: "xoxb-default",
accounts: {
ops: {
botToken: "xoxb-ops",
actions: {
messages: false,
},
},
},
},
},
},
accountId: "ops",
}).actions,
).not.toContain("upload-file");
});
});