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:
Siddharth Kumar Sah
2026-03-28 14:45:14 +08:00
parent fa01388742
commit 4a504281a3
3 changed files with 31 additions and 3 deletions
+25
View File
@@ -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");
});
}
});
});
// ═══════════════════════════════════════════════════════════════════════════