* feat(channels): add guided setup flows * test(channels): preserve setup config values * fix(channels): reflect saved setup state * refactor(channels): simplify setup state metadata * fix(channels): harden setup lifecycle * refactor(channels): centralize setup contracts * fix(channels): route setup actions through webui shim * fix(channels): adapt settings for compact screens * fix(models): preserve default preset display * feat(models): add curated Codex catalog * fix(webui): stop attached gateway on interrupt * fix(webui): simplify apps catalog * docs(webui): clarify apps and runtime features * feat(settings): add guided capability setup * fix(webui): harden setup and managed services * test: keep managed runtime checks portable * test: scope POSIX runtime coverage * fix(webui): simplify file settings * feat(files): bundle document reading * fix(webui): harden setup request boundaries * fix(webui): prevent channel setup status squeeze * fix(settings): group provider compatibility aliases * refactor(settings): remove redundant setup surfaces * fix(webui): harden guided setup lifecycle * fix(webui): preserve channel setup compatibility
29 lines
778 B
TypeScript
29 lines
778 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { SLACK_SOCKET_MODE_MANIFEST } from "@/components/settings/channels/catalog";
|
|
|
|
describe("Slack setup manifest", () => {
|
|
it.each(["app_mention", "message.channels", "message.groups", "message.im", "message.mpim"])(
|
|
"subscribes to %s",
|
|
(event) => expect(SLACK_SOCKET_MODE_MANIFEST).toContain(` - ${event}`),
|
|
);
|
|
|
|
it.each([
|
|
"app_mentions:read",
|
|
"channels:history",
|
|
"channels:read",
|
|
"chat:write",
|
|
"files:read",
|
|
"files:write",
|
|
"groups:history",
|
|
"groups:read",
|
|
"im:history",
|
|
"im:write",
|
|
"mpim:history",
|
|
"reactions:write",
|
|
"users:read",
|
|
])("requests the %s scope", (scope) => {
|
|
expect(SLACK_SOCKET_MODE_MANIFEST).toContain(` - ${scope}`);
|
|
});
|
|
});
|