UNPKG

@pagopa/dx-cli

Version:

A CLI useful to manage DX tools.

39 lines (38 loc) 1.29 kB
import { errAsync, okAsync } from "neverthrow"; import { describe, expect, it, vi } from "vitest"; import { listCodemods } from "../list-codemods.js"; describe("listCodemods", () => { it("returns codemods from the registry", async () => { const codemods = [ { apply: vi.fn().mockResolvedValue(undefined), description: "a", id: "a", }, { apply: vi.fn().mockResolvedValue(undefined), description: "b", id: "b", }, ]; const registry = { getAll: vi.fn().mockReturnValue(okAsync(codemods)), getById: vi.fn(), }; const result = await listCodemods(registry)(); expect(result.isOk()).toBe(true); expect(registry.getAll).toHaveBeenCalledTimes(1); }); it("propagates registry errors", async () => { const error = new Error("boom"); const registry = { getAll: vi.fn().mockReturnValue(errAsync(error)), getById: vi.fn(), }; const result = await listCodemods(registry)(); expect(result.isErr()).toBe(true); if (result.isErr()) { expect(result.error).toBe(error); } }); });