import { describe, expect, it } from "vitest" ;
import { createSlackPluginBase, setSlackChannelAllowlist } from "./shared.js" ;
describe("createSlackPluginBase" , () => {
it("owns Slack native command name overrides" , () => {
const plugin = createSlackPluginBase({
setup: {} as never,
setupWizard: {} as never,
});
expect(
plugin.commands?.resolveNativeCommandName?.({
commandKey: "status" ,
defaultName: "status" ,
}),
).toBe("agentstatus" );
expect(
plugin.commands?.resolveNativeCommandName?.({
commandKey: "tts" ,
defaultName: "tts" ,
}),
).toBe("tts" );
});
it("exposes security checks on the setup surface" , () => {
const plugin = createSlackPluginBase({
setup: {} as never,
setupWizard: {} as never,
});
expect(plugin.security?.resolveDmPolicy).toBeTypeOf("function" );
expect(plugin.security?.collectWarnings).toBeTypeOf("function" );
expect(plugin.security?.collectAuditFindings).toBeTypeOf("function" );
});
});
describe("setSlackChannelAllowlist" , () => {
it("writes canonical enabled entries for setup-generated channel allowlists" , () => {
const result = setSlackChannelAllowlist(
{
channels: {
slack: {
accounts: {
work: {},
},
},
},
},
"work" ,
["C123" , "C456" ],
);
expect(result.channels?.slack?.accounts?.work?.channels).toEqual({
C123: { enabled: true },
C456: { enabled: true },
});
});
});
Messung V0.5 in Prozent C=99 H=98 G=98
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland