From ce9719c6548480747bae4bbf16c83768d973c0d2 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 7 Mar 2026 17:42:47 +0000 Subject: [PATCH] refactor(test-utils): share direct channel plugin test fixture --- ...channels.config-only-status-output.test.ts | 24 +------------------ .../channels.mattermost-token-summary.test.ts | 24 +------------------ .../channel-plugin-test-fixtures.ts | 24 +++++++++++++++++++ 3 files changed, 26 insertions(+), 46 deletions(-) create mode 100644 src/test-utils/channel-plugin-test-fixtures.ts diff --git a/src/commands/channels.config-only-status-output.test.ts b/src/commands/channels.config-only-status-output.test.ts index f1fb821ac..5e442d6de 100644 --- a/src/commands/channels.config-only-status-output.test.ts +++ b/src/commands/channels.config-only-status-output.test.ts @@ -1,32 +1,10 @@ import { afterEach, describe, expect, it } from "vitest"; import type { ChannelPlugin } from "../channels/plugins/types.js"; import { setActivePluginRegistry } from "../plugins/runtime.js"; +import { makeDirectPlugin } from "../test-utils/channel-plugin-test-fixtures.js"; import { createTestRegistry } from "../test-utils/channel-plugins.js"; import { formatConfigChannelsStatusLines } from "./channels/status.js"; -function makeDirectPlugin(params: { - id: string; - label: string; - docsPath: string; - config: ChannelPlugin["config"]; -}): ChannelPlugin { - return { - id: params.id, - meta: { - id: params.id, - label: params.label, - selectionLabel: params.label, - docsPath: params.docsPath, - blurb: "test", - }, - capabilities: { chatTypes: ["direct"] }, - config: params.config, - actions: { - listActions: () => ["send"], - }, - }; -} - function makeUnavailableTokenPlugin(): ChannelPlugin { return makeDirectPlugin({ id: "token-only", diff --git a/src/commands/status-all/channels.mattermost-token-summary.test.ts b/src/commands/status-all/channels.mattermost-token-summary.test.ts index 56135970e..a797d028d 100644 --- a/src/commands/status-all/channels.mattermost-token-summary.test.ts +++ b/src/commands/status-all/channels.mattermost-token-summary.test.ts @@ -1,6 +1,7 @@ import { describe, expect, it, vi } from "vitest"; import { listChannelPlugins } from "../../channels/plugins/index.js"; import type { ChannelPlugin } from "../../channels/plugins/types.js"; +import { makeDirectPlugin } from "../../test-utils/channel-plugin-test-fixtures.js"; import { buildChannelsTable } from "./channels.js"; vi.mock("../../channels/plugins/index.js", () => ({ @@ -116,29 +117,6 @@ function makeUnavailableSlackPlugin(): ChannelPlugin { }; } -function makeDirectPlugin(params: { - id: string; - label: string; - docsPath: string; - config: ChannelPlugin["config"]; -}): ChannelPlugin { - return { - id: params.id, - meta: { - id: params.id, - label: params.label, - selectionLabel: params.label, - docsPath: params.docsPath, - blurb: "test", - }, - capabilities: { chatTypes: ["direct"] }, - config: params.config, - actions: { - listActions: () => ["send"], - }, - }; -} - function makeSourceAwareUnavailablePlugin(): ChannelPlugin { return makeDirectPlugin({ id: "slack", diff --git a/src/test-utils/channel-plugin-test-fixtures.ts b/src/test-utils/channel-plugin-test-fixtures.ts new file mode 100644 index 000000000..39f5a6177 --- /dev/null +++ b/src/test-utils/channel-plugin-test-fixtures.ts @@ -0,0 +1,24 @@ +import type { ChannelPlugin } from "../channels/plugins/types.js"; + +export function makeDirectPlugin(params: { + id: string; + label: string; + docsPath: string; + config: ChannelPlugin["config"]; +}): ChannelPlugin { + return { + id: params.id, + meta: { + id: params.id, + label: params.label, + selectionLabel: params.label, + docsPath: params.docsPath, + blurb: "test", + }, + capabilities: { chatTypes: ["direct"] }, + config: params.config, + actions: { + listActions: () => ["send"], + }, + }; +}