Files
air-watcher/test/dashboardUtils.test.js
2026-03-05 11:00:45 +09:00

27 lines
826 B
JavaScript

"use strict";
const test = require("node:test");
const assert = require("node:assert/strict");
const { createHttpError, toPublicErrorResponse } = require("../src/dashboardUtils");
test("toPublicErrorResponse keeps 4xx error details", () => {
const failure = toPublicErrorResponse(createHttpError(400, "잘못된 요청"));
assert.equal(failure.statusCode, 400);
assert.equal(failure.body.error, "잘못된 요청");
});
test("toPublicErrorResponse masks 5xx errors", () => {
const loggerCalls = [];
const failure = toPublicErrorResponse(new Error("db password exposed"), {
logger: {
error(message) {
loggerCalls.push(message);
},
},
});
assert.equal(failure.statusCode, 500);
assert.equal(failure.body.error, "Internal Server Error");
assert.equal(loggerCalls.length, 1);
});