import assert from "node:assert/strict"; import test from "node:test"; import { mapDatabaseError } from "../src/errors.js"; test("database business errors map to stable API responses", () => { const insufficient = mapDatabaseError({ code: "P0001", message: "CONDON_INSUFFICIENT_BALANCE" }); assert.equal(insufficient.statusCode, 422); assert.equal(insufficient.code, "INSUFFICIENT_BALANCE"); const duplicate = mapDatabaseError({ code: "23505", message: "CONDON_CONFIRMATION_NO_EXISTS" }); assert.equal(duplicate.statusCode, 409); assert.equal(duplicate.code, "CONFLICT"); const invalid = mapDatabaseError({ code: "22023", message: "CONDON_CROSS_YEAR_STAY_NOT_SUPPORTED" }); assert.equal(invalid.statusCode, 400); assert.equal(invalid.code, "BUSINESS_RULE_VIOLATION"); const unknown = mapDatabaseError({ code: "XX000", message: "internal database details" }); assert.equal(unknown.statusCode, 500); assert.equal(unknown.message, "An internal error occurred"); assert.equal(unknown.message.includes("database details"), false); });