import { describe, it, expect, vi } from "vitest"; import { mimeTypeToExtension } from "./image-processing-server"; // Mock sharp dynamically const mockSharp = vi.fn(() => ({ resize: vi.fn().mockReturnThis(), jpeg: vi.fn().mockReturnThis(), toBuffer: vi.fn().mockResolvedValue(Buffer.from("resized-image-data")), })); vi.doMock("sharp", () => ({ default: mockSharp, })); describe("mimeTypeToExtension", () => { it("maps image/png to png", () => { expect(mimeTypeToExtension("image/png")).toBe("png"); }); it("maps image/jpeg to jpg", () => { expect(mimeTypeToExtension("image/jpeg")).toBe("jpg"); }); it("maps image/jpg to jpg", () => { expect(mimeTypeToExtension("image/jpg")).toBe("jpg"); }); it("maps image/webp to webp", () => { expect(mimeTypeToExtension("image/webp")).toBe("webp"); }); it("returns jpg for unknown mime types", () => { expect(mimeTypeToExtension("image/bmp")).toBe("jpg"); expect(mimeTypeToExtension("unknown/type")).toBe("jpg"); }); }); describe("resizeImageServer", () => { it("resizes image to specified dimensions", async () => { const { resizeImageServer } = await import("./image-processing-server"); const buffer = Buffer.from("test-image-data"); const result = await resizeImageServer(buffer, 224, 224); expect(result).toBeInstanceOf(Buffer); expect(mockSharp).toHaveBeenCalled(); }); it("returns buffer for valid input", async () => { const { resizeImageServer } = await import("./image-processing-server"); const buffer = Buffer.from("test-image-data"); const result = await resizeImageServer(buffer, 224, 224); expect(result).toBeInstanceOf(Buffer); }); });