express-ai-error-handler
Version:
AI-powered error handler for Express with AI failover support
34 lines (33 loc) • 1.34 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = __importDefault(require("express"));
const supertest_1 = __importDefault(require("supertest"));
const app_1 = __importDefault(require("../src/app"));
/**
* Initialize Express app and AI error handler
*/
const app = (0, express_1.default)();
const errorHandler = new app_1.default([
'AIzaSyBhwCvQDSG-IF1cIWfwh05Lu-FlvJXqkRc',
'AIzaSyCBxpd6hbxvrFfTX1lOv91nFD6-7z9nXtE',
'AIzaSyAGq8jCCKcSyuNYX-FqrWinsvUNqv4Bey4',
], { disableLogging: true });
// Define an explicit GET "/" route to trigger the error
app.get("/", (_req, _res, next) => {
next(new Error("Test Error"));
});
// Apply AI error handler middleware
app.use(errorHandler.middleware());
describe('AIErrorHandler Middleware', () => {
it('should return a custom AI-powered error response', async () => {
const res = await (0, supertest_1.default)(app).get('/');
// console.log("Response Body:", res.body); // Check actual response
expect(res.body).toBeDefined();
expect(res.status).toBe(500);
expect(res.body.error).toBeDefined();
expect(res.body.suggestion).toBeDefined();
});
});