import { beforeEach, describe, expect, it } from "vitest"; import { createPluginRecord } from "../plugins/status.test-helpers.js"; import { buildPluginDiagnosticsReport, buildPluginSnapshotReport, resetPluginsCliTestState, runPluginsCommand, runtimeLogs, } from "./plugins-cli-test-helpers.js"; describe("plugins cli list", () => { beforeEach(() => { resetPluginsCliTestState(); }); it("includes imported state in JSON output", async () => { buildPluginSnapshotReport.mockReturnValue({ workspaceDir: "/workspace", plugins: [ createPluginRecord({ id: "demo", imported: true, activated: true, explicitlyEnabled: true, }), ], diagnostics: [], }); await runPluginsCommand(["plugins", "list", "--json"]); expect(buildPluginSnapshotReport).toHaveBeenCalledWith(); expect(JSON.parse(runtimeLogs[0] ?? "null")).toEqual({ workspaceDir: "/workspace", plugins: [ expect.objectContaining({ id: "demo", imported: true, activated: true, explicitlyEnabled: true, }), ], diagnostics: [], }); }); it("keeps doctor on a module-loading snapshot", async () => { buildPluginDiagnosticsReport.mockReturnValue({ plugins: [], diagnostics: [], }); await runPluginsCommand(["plugins", "doctor"]); expect(buildPluginDiagnosticsReport).toHaveBeenCalledWith(); expect(runtimeLogs).toContain("No plugin issues detected."); }); });