refactor(commands): dedupe channel plugin test fixture builders

This commit is contained in:
Peter Steinberger
2026-03-07 17:40:13 +00:00
parent 66de964c59
commit bcb587a3bc

View File

@@ -116,17 +116,34 @@ function makeUnavailableSlackPlugin(): ChannelPlugin {
}; };
} }
function makeSourceAwareUnavailablePlugin(): ChannelPlugin { function makeDirectPlugin(params: {
id: string;
label: string;
docsPath: string;
config: ChannelPlugin["config"];
}): ChannelPlugin {
return { return {
id: "slack", id: params.id,
meta: { meta: {
id: "slack", id: params.id,
label: "Slack", label: params.label,
selectionLabel: "Slack", selectionLabel: params.label,
docsPath: "/channels/slack", docsPath: params.docsPath,
blurb: "test", blurb: "test",
}, },
capabilities: { chatTypes: ["direct"] }, capabilities: { chatTypes: ["direct"] },
config: params.config,
actions: {
listActions: () => ["send"],
},
};
}
function makeSourceAwareUnavailablePlugin(): ChannelPlugin {
return makeDirectPlugin({
id: "slack",
label: "Slack",
docsPath: "/channels/slack",
config: { config: {
listAccountIds: () => ["primary"], listAccountIds: () => ["primary"],
defaultAccountId: () => "primary", defaultAccountId: () => "primary",
@@ -161,10 +178,7 @@ function makeSourceAwareUnavailablePlugin(): ChannelPlugin {
isConfigured: (account) => Boolean((account as { configured?: boolean }).configured), isConfigured: (account) => Boolean((account as { configured?: boolean }).configured),
isEnabled: () => true, isEnabled: () => true,
}, },
actions: { });
listActions: () => ["send"],
},
};
} }
function makeSourceUnavailableResolvedAvailablePlugin(): ChannelPlugin { function makeSourceUnavailableResolvedAvailablePlugin(): ChannelPlugin {
@@ -214,16 +228,10 @@ function makeSourceUnavailableResolvedAvailablePlugin(): ChannelPlugin {
} }
function makeHttpSlackUnavailablePlugin(): ChannelPlugin { function makeHttpSlackUnavailablePlugin(): ChannelPlugin {
return { return makeDirectPlugin({
id: "slack", id: "slack",
meta: { label: "Slack",
id: "slack", docsPath: "/channels/slack",
label: "Slack",
selectionLabel: "Slack",
docsPath: "/channels/slack",
blurb: "test",
},
capabilities: { chatTypes: ["direct"] },
config: { config: {
listAccountIds: () => ["primary"], listAccountIds: () => ["primary"],
defaultAccountId: () => "primary", defaultAccountId: () => "primary",
@@ -255,23 +263,14 @@ function makeHttpSlackUnavailablePlugin(): ChannelPlugin {
isConfigured: () => true, isConfigured: () => true,
isEnabled: () => true, isEnabled: () => true,
}, },
actions: { });
listActions: () => ["send"],
},
};
} }
function makeTokenPlugin(): ChannelPlugin { function makeTokenPlugin(): ChannelPlugin {
return { return makeDirectPlugin({
id: "token-only", id: "token-only",
meta: { label: "TokenOnly",
id: "token-only", docsPath: "/channels/token-only",
label: "TokenOnly",
selectionLabel: "TokenOnly",
docsPath: "/channels/token-only",
blurb: "test",
},
capabilities: { chatTypes: ["direct"] },
config: { config: {
listAccountIds: () => ["primary"], listAccountIds: () => ["primary"],
defaultAccountId: () => "primary", defaultAccountId: () => "primary",
@@ -283,10 +282,7 @@ function makeTokenPlugin(): ChannelPlugin {
isConfigured: () => true, isConfigured: () => true,
isEnabled: () => true, isEnabled: () => true,
}, },
actions: { });
listActions: () => ["send"],
},
};
} }
describe("buildChannelsTable - mattermost token summary", () => { describe("buildChannelsTable - mattermost token summary", () => {