@unito/integration-sdk
Version:
Integration SDK
94 lines (93 loc) • 2.78 kB
JavaScript
import assert from 'node:assert/strict';
import { describe, it } from 'node:test';
import onFinish from '../../src/middlewares/finish.js';
describe('finish middleware', () => {
it('logs info', () => {
let expected = '';
let eventHandler = () => { };
const request = { originalUrl: '/' };
const response = {
on: (_event, func) => {
eventHandler = func;
},
locals: {
requestStartTime: 0n,
logger: {
info: (_message) => {
expected = 'works!';
},
},
},
statusCode: 200,
};
onFinish(request, response, () => { });
eventHandler();
assert.equal(expected, 'works!');
});
it('logs error', () => {
let expected = '';
let eventHandler = () => { };
const request = { originalUrl: '/' };
const response = {
on: (_event, func) => {
eventHandler = func;
},
locals: {
requestStartTime: 0n,
logger: {
error: (_message) => {
expected = 'works!';
},
},
},
statusCode: 500,
};
onFinish(request, response, () => { });
eventHandler();
assert.equal(expected, 'works!');
});
it('health success', () => {
let expected = '';
let eventHandler = () => { };
const request = { originalUrl: '/health' };
const response = {
on: (_event, func) => {
eventHandler = func;
},
locals: {
requestStartTime: 0n,
logger: {
info: (_message) => {
expected = 'ohoh!';
},
},
},
statusCode: 200,
};
onFinish(request, response, () => { });
eventHandler();
assert.equal(expected, '');
});
it('health failure', () => {
let expected = '';
let eventHandler = () => { };
const request = { originalUrl: '/health' };
const response = {
on: (_event, func) => {
eventHandler = func;
},
locals: {
requestStartTime: 0n,
logger: {
error: (_message) => {
expected = 'works!';
},
},
},
statusCode: 500,
};
onFinish(request, response, () => { });
eventHandler();
assert.equal(expected, 'works!');
});
});