




















@@ -16,6 +16,8 @@ import { beforeEach, describe, expect, it, vi } from "vitest";
1616const listChannelPluginCatalogEntries = vi.hoisted(() => vi.fn((_opts?: unknown): unknown[] => []));
1717const listChatChannels = vi.hoisted(() => vi.fn((): unknown[] => []));
1818const loadPluginManifestRegistry = vi.hoisted(() => vi.fn());
19+const loadPluginRegistrySnapshot = vi.hoisted(() => vi.fn());
20+const listPluginContributionIds = vi.hoisted(() => vi.fn((_params?: unknown): string[] => []));
1921const applyPluginAutoEnable = vi.hoisted(() =>
2022vi.fn(({ config }: { config: unknown }) => ({
2123config: config as never,
@@ -36,6 +38,12 @@ vi.mock("../../channels/registry.js", () => ({
3638vi.mock("../../plugins/manifest-registry.js", () => ({
3739loadPluginManifestRegistry: (...a: unknown[]) => loadPluginManifestRegistry(...a),
3840}));
41+vi.mock("../../plugins/plugin-registry.js", () => ({
42+loadPluginManifestRegistryForPluginRegistry: (...args: unknown[]) =>
43+loadPluginManifestRegistry(...args),
44+loadPluginRegistrySnapshot: (...args: unknown[]) => loadPluginRegistrySnapshot(...args),
45+listPluginContributionIds: (...args: unknown[]) => listPluginContributionIds(...args),
46+}));
3947vi.mock("../../config/plugin-auto-enable.js", () => ({
4048applyPluginAutoEnable: (a: unknown) => applyPluginAutoEnable(a as { config: unknown }),
4149}));
@@ -52,6 +60,18 @@ import { resolveChannelSetupEntries } from "./discovery.js";
5260beforeEach(() => {
5361vi.clearAllMocks();
5462loadPluginManifestRegistry.mockReturnValue({ plugins: [], diagnostics: [] });
63+loadPluginRegistrySnapshot.mockReturnValue({
64+version: 1,
65+hostContractVersion: "test",
66+compatRegistryVersion: "test",
67+migrationVersion: 1,
68+policyHash: "test",
69+generatedAtMs: 0,
70+installRecords: {},
71+plugins: [],
72+diagnostics: [],
73+});
74+listPluginContributionIds.mockReturnValue([]);
5575listChatChannels.mockReturnValue([]);
5676});
5777@@ -173,6 +193,7 @@ describe("resolveChannelSetupEntries workspace shadow exclusion (GHSA-2qrv-rc5x-
173193plugins: [{ id: "trusted-telegram-shadow", channels: ["telegram"] }],
174194diagnostics: [],
175195});
196+listPluginContributionIds.mockReturnValue(["telegram"]);
176197177198const result = resolveChannelSetupEntries({
178199cfg: {
@@ -223,6 +244,7 @@ describe("resolveChannelSetupEntries workspace shadow exclusion (GHSA-2qrv-rc5x-
223244plugins: [{ id: "trusted-telegram-shadow", channels: ["telegram"] }],
224245diagnostics: [],
225246});
247+listPluginContributionIds.mockReturnValue(["telegram"]);
226248227249const result = resolveChannelSetupEntries({
228250cfg: {
@@ -267,6 +289,7 @@ describe("resolveChannelSetupEntries workspace shadow exclusion (GHSA-2qrv-rc5x-
267289plugins: [{ id: "my-cool-plugin", channels: ["my-cool-plugin"] }],
268290diagnostics: [],
269291});
292+listPluginContributionIds.mockReturnValue(["my-cool-plugin"]);
270293271294const result = resolveChannelSetupEntries({
272295cfg: {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。