mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-10 20:46:28 +01:00
test: verify Slack manifest through the shared builder
Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
1 parent
e3bb642933
commit
95e3f17f01
1 file changed
+19
-21
@@ -1,3 +1,4 @@
|
||||
import { buildSlackAppManifest } from "@paperclipai/shared";
|
||||
import { readFileSync } from "node:fs";
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
@@ -247,28 +248,25 @@ describe("chat connector UI contract", () => {
|
||||
expect(setup).toContain('type="password"');
|
||||
expect(setup).not.toContain("WebkitTextSecurity");
|
||||
expect(setup).toContain("Verify Slack connection");
|
||||
expect(setup).toContain("member_joined_channel");
|
||||
expect(setup).toContain("member_left_channel");
|
||||
expect(setup).toContain("channel_left");
|
||||
expect(setup).toContain("group_left");
|
||||
expect(setup).toContain("group_archive");
|
||||
expect(setup).toContain("group_unarchive");
|
||||
expect(setup).toContain("group_rename");
|
||||
expect(setup).toContain("app_uninstalled");
|
||||
expect(setup).toContain("buildSlackAppManifest");
|
||||
expect(setup).toContain("slackBotNameForAgent");
|
||||
expect(setup).not.toContain("- im:write");
|
||||
expect(setup).toContain("- reactions:write");
|
||||
expect(setup).not.toContain("always_online");
|
||||
expect(setup).toContain("- reactions:read");
|
||||
expect(setup).toContain("- assistant:write");
|
||||
expect(setup).toContain("agent_view:");
|
||||
expect(setup).toContain("agent_session_stopped");
|
||||
expect(setup).not.toContain("assistant_view:");
|
||||
expect(setup).toContain("reaction_added");
|
||||
expect(setup).toContain("reaction_removed");
|
||||
expect(setup).toContain("home_tab_enabled: false");
|
||||
expect(setup).toContain("messages_tab_enabled: true");
|
||||
expect(setup).toContain("messages_tab_read_only_enabled: false");
|
||||
const manifest = buildSlackAppManifest({
|
||||
app: { appName: "Maya", botName: "maya", command: "/maya" },
|
||||
agentName: "Maya",
|
||||
webhookUrl: "https://paperclip.example/api/chat-webhooks/test/slack",
|
||||
});
|
||||
expect(manifest.settings.event_subscriptions.bot_events).toEqual(expect.arrayContaining([
|
||||
"member_joined_channel", "member_left_channel", "channel_left", "group_left",
|
||||
"group_archive", "group_unarchive", "group_rename", "app_uninstalled",
|
||||
"agent_session_stopped", "reaction_added", "reaction_removed",
|
||||
]));
|
||||
expect(manifest.oauth_config.scopes.bot).toEqual(expect.arrayContaining(["reactions:write", "reactions:read", "assistant:write"]));
|
||||
expect(manifest.features).toHaveProperty("agent_view");
|
||||
expect(manifest.features).not.toHaveProperty("assistant_view");
|
||||
expect(manifest.features.bot_user).not.toHaveProperty("always_online");
|
||||
expect(manifest.features.app_home).toEqual({
|
||||
home_tab_enabled: false, messages_tab_enabled: true, messages_tab_read_only_enabled: false,
|
||||
});
|
||||
expect(setup).not.toContain("No credentials");
|
||||
expect(setup).not.toContain("managed Microsoft app");
|
||||
expect(setup).toContain("endpoint.providerAccountId && !repairing");
|
||||
|
||||
Reference in new issue
Block a user