From 3bb96eb6f36865f140f8dac8faf3acd7d76d5407 Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Tue, 21 Jul 2026 21:51:22 +0200 Subject: [PATCH] test: silence expected clone-import rollback warning The rollback case intentionally hits items_base insert failure; mock console.warn so deploy logs stay clean. Co-authored-by: Cursor --- src/lib/services/clone-import.test.ts | 39 +++++++++++++++------------ 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/src/lib/services/clone-import.test.ts b/src/lib/services/clone-import.test.ts index 24d36b8d..d7ec44de 100644 --- a/src/lib/services/clone-import.test.ts +++ b/src/lib/services/clone-import.test.ts @@ -139,6 +139,7 @@ describe("clone-import", () => { }); it("rolls back: unlinks .nitro and icon, skips FurnitureData when items_base INSERT rejects", async () => { + const warn = vi.spyOn(console, "warn").mockImplementation(() => {}); downloadFile.mockReset(); downloadFile.mockResolvedValue({ ok: true, size: 200 }); fsUnlink.mockReset(); @@ -153,23 +154,27 @@ describe("clone-import", () => { // items_base INSERT rejects. execRaw.mockRejectedValueOnce(new Error("Duplicate entry")); - const r = await cloneSingleFurni({ - source: SOURCE, - entry: { ...ENTRY, itemType: "s" }, - }); + try { + const r = await cloneSingleFurni({ + source: SOURCE, + entry: { ...ENTRY, itemType: "s" }, + }); - // (a) .nitro must be unlinked. - expect(fsUnlink).toHaveBeenCalledWith( - expect.stringContaining("bc_sofa.nitro"), - ); - // (b) icon must also be unlinked. - expect(fsUnlink).toHaveBeenCalledWith( - expect.stringContaining("bc_sofa_icon.png"), - ); - // (c) appendFurniEntry must NOT have been called. - expect(appendFurniEntry).not.toHaveBeenCalled(); - // (d) result must be ok === false. - expect(r.ok).toBe(false); - expect(r.error).toMatch(/items_base insert failed/); + // (a) .nitro must be unlinked. + expect(fsUnlink).toHaveBeenCalledWith( + expect.stringContaining("bc_sofa.nitro"), + ); + // (b) icon must also be unlinked. + expect(fsUnlink).toHaveBeenCalledWith( + expect.stringContaining("bc_sofa_icon.png"), + ); + // (c) appendFurniEntry must NOT have been called. + expect(appendFurniEntry).not.toHaveBeenCalled(); + // (d) result must be ok === false. + expect(r.ok).toBe(false); + expect(r.error).toMatch(/items_base insert failed/); + } finally { + warn.mockRestore(); + } }); });