import { isApiError, toApiError } from "@/lib/errors" import { describe, expect, it } from "vitest" describe("lib/errors", () => { describe("toApiError", () => { it("passes through {code,msg} ApiError", () => { const err = { code: 400, msg: "bad request" } expect(isApiError(err)).toBe(true) try { throw err } catch (e) { expect(toApiError(e)).toBe(err) } }) it("converts Error to safe {code,msg}", () => { expect(toApiError(new Error("x"))).toEqual({ code: 500, msg: "x" }) }) it("converts string to safe {code,msg}", () => { expect(toApiError("x")).toEqual({ code: 500, msg: "x" }) }) it("converts unknown input to safe {code,msg}", () => { expect(toApiError(null)).toEqual({ code: 500, msg: "Unknown error" }) }) }) })