UNPKG

@unito/integration-sdk

Version:

Integration SDK

94 lines (93 loc) 2.78 kB
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!'); }); });