feat(tools)!: SnapOtter 2.0 phase 4 wave 1: 45 core tools across all modalities (#219)

This commit is contained in:
SnapOtter
2026-06-13 10:18:49 +08:00
parent d647d8ed19
commit ae1337901d
115 changed files with 10026 additions and 924 deletions
+29
View File
@@ -184,6 +184,33 @@ vi.mock("@/components/tools/color-blindness-settings", () => ({
vi.mock("@/components/tools/ai-canvas-expand-settings", () => ({
AiCanvasExpandSettings: () => null,
}));
vi.mock("@/components/tools/merge-pdf-settings", () => ({
MergePdfSettings: () => null,
}));
vi.mock("@/components/tools/split-pdf-settings", () => ({
SplitPdfSettings: () => null,
}));
vi.mock("@/components/tools/compress-pdf-settings", () => ({
CompressPdfSettings: () => null,
}));
vi.mock("@/components/tools/rotate-pdf-settings", () => ({
RotatePdfSettings: () => null,
}));
vi.mock("@/components/tools/word-to-pdf-settings", () => ({
WordToPdfSettings: () => null,
}));
vi.mock("@/components/tools/csv-excel-settings", () => ({
CsvExcelSettings: () => null,
}));
vi.mock("@/components/tools/csv-json-settings", () => ({
CsvJsonSettings: () => null,
}));
vi.mock("@/components/tools/json-xml-settings", () => ({
JsonXmlSettings: () => null,
}));
vi.mock("@/components/tools/split-csv-settings", () => ({
SplitCsvSettings: () => null,
}));
// ---------------------------------------------------------------------------
// Import after mocks
@@ -289,6 +316,8 @@ describe("toolRegistry", () => {
"interactive-split",
"no-dropzone",
"custom-results",
"media-player",
"document",
];
for (const [toolId, entry] of toolRegistry) {
expect(validModes, `invalid displayMode for ${toolId}`).toContain(entry.displayMode);