Files
cobble/src/utils/safe-error-message.test.ts
T

35 lines
1.0 KiB
TypeScript

import { describe, expect, test } from "bun:test";
import AppError from "./app-error";
import safeErrorMessage from "./safe-error-message";
describe("safeErrorMessage", () => {
test("returns the message of an AppError", () => {
expect(
safeErrorMessage({ error: new AppError("Please try again") }),
).toBe("Please try again");
});
test("hides the message of a plain Error", () => {
expect(
safeErrorMessage({
error: new Error("SQLITE_CONSTRAINT: users.email"),
}),
).toBe("Something went wrong. Please try again.");
});
test("hides non-Error values", () => {
expect(safeErrorMessage({ error: "boom" })).toBe(
"Something went wrong. Please try again.",
);
});
test("supports a custom fallback", () => {
expect(
safeErrorMessage({
error: new Error("internal"),
fallback: "Request failed",
}),
).toBe("Request failed");
});
});