import { describe, expect, it, vi } from "vitest"; const discoverModules = vi.fn(); const discoverModuleSchemas = vi.fn(); const discoverModuleMigrations = vi.fn(); const startModuleRuntime = vi.fn(); const createPostgresMigrationDatabase = vi.fn(); const planModuleMigrations = vi.fn(); vi.mock("../src/modules/index.js", async (importOriginal) => ({ ...(await importOriginal()), discoverModuleMigrations, discoverModules, discoverModuleSchemas, startModuleRuntime, })); vi.mock("../src/migrations/index.js", async (importOriginal) => ({ ...(await importOriginal()), createPostgresMigrationDatabase, planModuleMigrations, })); describe("Doctor import safety", () => { it("does not discover, connect, plan, or print when imported", async () => { const log = vi.spyOn(console, "log").mockImplementation(() => undefined); const error = vi.spyOn(console, "error").mockImplementation(() => undefined); await import("../src/diagnostics/index.js"); await import("../src/cli/doctor.js"); await import("../src/index.js"); expect(discoverModules).not.toHaveBeenCalled(); expect(discoverModuleSchemas).not.toHaveBeenCalled(); expect(discoverModuleMigrations).not.toHaveBeenCalled(); expect(startModuleRuntime).not.toHaveBeenCalled(); expect(createPostgresMigrationDatabase).not.toHaveBeenCalled(); expect(planModuleMigrations).not.toHaveBeenCalled(); expect(log).not.toHaveBeenCalled(); expect(error).not.toHaveBeenCalled(); log.mockRestore(); error.mockRestore(); }); });