mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
fix: surface hidden errors and add batch rejection tests
Fix empty catch blocks in settings dialog (logo upload/delete) and automate page (pipeline save) that silently swallowed errors. Users now see error messages when these operations fail. Add 5 integration tests verifying batch endpoint returns 404 for custom-route tools (remove-background, upscale, ocr, blur-faces, erase-object), matching the pipeline rejection tests.
This commit is contained in:
@@ -2668,6 +2668,31 @@ describe("Batch processing", () => {
|
||||
expect(res.headers["content-type"]).toBe("application/zip");
|
||||
});
|
||||
});
|
||||
|
||||
describe("Batch rejects custom-route tools", () => {
|
||||
const customRouteTools = ["remove-background", "upscale", "ocr", "blur-faces", "erase-object"];
|
||||
|
||||
for (const toolId of customRouteTools) {
|
||||
it(`returns 404 for batch "${toolId}" (custom-route tool)`, async () => {
|
||||
const { body: payload, contentType } = createMultipartPayload([
|
||||
{ name: "file", filename: "a.png", contentType: "image/png", content: PNG_200x150 },
|
||||
{ name: "settings", content: JSON.stringify({}) },
|
||||
]);
|
||||
|
||||
const res = await app.inject({
|
||||
method: "POST",
|
||||
url: `/api/v1/tools/${toolId}/batch`,
|
||||
headers: {
|
||||
authorization: `Bearer ${adminToken}`,
|
||||
"content-type": contentType,
|
||||
},
|
||||
payload,
|
||||
});
|
||||
expect(res.statusCode).toBe(404);
|
||||
expect(JSON.parse(res.body).error).toContain("not found");
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
|
||||
Reference in New Issue
Block a user