22 lines
626 B
TypeScript
22 lines
626 B
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import { z } from "zod/v4";
|
|
import { isZodError } from "@/errors/isZodError.js";
|
|
|
|
describe("isZodError", () => {
|
|
test("recognizes Zod validation errors without relying on instanceof", () => {
|
|
const result = z.object({ secret_key: z.string() }).safeParse({});
|
|
|
|
expect(result.success).toBe(false);
|
|
if (!result.success) {
|
|
expect(isZodError(result.error)).toBe(true);
|
|
}
|
|
});
|
|
|
|
test("rejects ordinary errors", () => {
|
|
expect(isZodError(new Error("nope"))).toBe(false);
|
|
expect(isZodError({ name: "ZodError", issues: "not-an-array" })).toBe(
|
|
false,
|
|
);
|
|
});
|
|
});
|