import { beforeEach, describe, expect, it, vi } from "vitest" ;
type MockManifestRegistry = {
plugins: Array<{
id: string;
origin: string;
channelEnvVars?: Record<string, string[]>;
}>;
diagnostics: unknown[];
};
const loadPluginManifestRegistry = vi.hoisted(() =>
vi.fn<() => MockManifestRegistry>(() => ({ plugins: [], diagnostics: [] })),
);
vi.mock("../plugins/manifest-registry.js" , () => ({
loadPluginManifestRegistry,
}));
describe("channel env vars dynamic manifest metadata" , () => {
beforeEach(() => {
vi.resetModules();
loadPluginManifestRegistry.mockReset();
loadPluginManifestRegistry.mockReturnValue({ plugins: [], diagnostics: [] });
});
it("includes later-installed plugin env vars without a bundled generated map" , async () => {
loadPluginManifestRegistry.mockReturnValue({
plugins: [
{
id: "external-mattermost" ,
origin: "global" ,
channelEnvVars: {
mattermost: ["MATTERMOST_BOT_TOKEN" , "MATTERMOST_URL" ],
},
},
],
diagnostics: [],
});
const mod = await import ("./channel-env-vars.js" );
expect(mod.getChannelEnvVars("mattermost" )).toEqual(["MATTERMOST_BOT_TOKEN" , "MATTERMOST_URL" ]);
expect(mod.listKnownChannelEnvVarNames()).toEqual(
expect.arrayContaining(["MATTERMOST_BOT_TOKEN" , "MATTERMOST_URL" ]),
);
});
});
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-06-09)
¤
*© Formatika GbR, Deutschland