feat: add Ekklesia doctor command
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
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<typeof import("../src/modules/index.js")>()),
|
||||
discoverModuleMigrations,
|
||||
discoverModules,
|
||||
discoverModuleSchemas,
|
||||
startModuleRuntime,
|
||||
}));
|
||||
|
||||
vi.mock("../src/migrations/index.js", async (importOriginal) => ({
|
||||
...(await importOriginal<typeof import("../src/migrations/index.js")>()),
|
||||
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();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user