src/features/reviews/review-error-message.test.ts
Linked repository file from this build.
import { expect, test } from "bun:test";
import { reviewErrorMessage } from "./review-error-message";
test("serialized validation issues become a single readable message without duplicates", () => {
expect(
reviewErrorMessage(
JSON.stringify([
{
code: "custom",
path: ["value", "householdSize"],
message: "Household size must be 1 through 20.",
},
{ code: "custom", path: ["value", "income"], message: "Enter an income type." },
{ message: "Enter an income type." },
]),
),
).toBe("Household size must be 1 through 20. Enter an income type.");
});
test("ordinary and unexpected error payloads remain intact", () => {
for (const message of [
"Unable to save review.",
"[]",
'[{"code":"custom"}]',
'{"error":"Unavailable"}',
]) {
expect(reviewErrorMessage(message)).toBe(message);
}
});