33 lines
970 B
TypeScript
33 lines
970 B
TypeScript
import { describe, it, expect, vi } from "vitest";
|
|
import { pdfMergerPlugin } from "./index";
|
|
import { runPdfMerger } from "./run";
|
|
import type { ToolContext } from "../../core/plugins/plugin-types";
|
|
|
|
describe("PDF Merger Plugin", () => {
|
|
const mockContext: ToolContext = {
|
|
signal: new AbortController().signal,
|
|
reportProgress: vi.fn(),
|
|
logger: {
|
|
info: vi.fn(),
|
|
warn: vi.fn(),
|
|
error: vi.fn(),
|
|
},
|
|
};
|
|
|
|
it("should have correct manifest", () => {
|
|
expect(pdfMergerPlugin.manifest.id).toBe("pdf-merger");
|
|
expect(pdfMergerPlugin.manifest.input.type).toBe("files");
|
|
expect(pdfMergerPlugin.manifest.output.type).toBe("files");
|
|
});
|
|
|
|
it("should have run function", () => {
|
|
expect(pdfMergerPlugin.run).toBeDefined();
|
|
});
|
|
|
|
it("should throw error if no files provided", async () => {
|
|
await expect(
|
|
runPdfMerger({ files: [] }, {}, mockContext)
|
|
).rejects.toThrow("No files provided for merging.");
|
|
});
|
|
});
|