30 lines
827 B
TypeScript
30 lines
827 B
TypeScript
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" })
|
|
})
|
|
})
|
|
})
|