UNPKG

@unito/integration-sdk

Version:

Integration SDK

111 lines (94 loc) 2.59 kB
import express from 'express'; 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: () => void = () => {}; const request = { originalUrl: '/' } as express.Request; const response = { on: (_event, func: () => void) => { eventHandler = func; }, locals: { requestStartTime: 0n, logger: { info: (_message: string) => { expected = 'works!'; }, }, }, statusCode: 200, } as express.Response; onFinish(request, response, () => {}); eventHandler(); assert.equal(expected, 'works!'); }); it('logs error', () => { let expected = ''; let eventHandler: () => void = () => {}; const request = { originalUrl: '/' } as express.Request; const response = { on: (_event, func: () => void) => { eventHandler = func; }, locals: { requestStartTime: 0n, logger: { error: (_message: string) => { expected = 'works!'; }, }, }, statusCode: 500, } as express.Response; onFinish(request, response, () => {}); eventHandler(); assert.equal(expected, 'works!'); }); it('health success', () => { let expected = ''; let eventHandler: () => void = () => {}; const request = { originalUrl: '/health' } as express.Request; const response = { on: (_event, func: () => void) => { eventHandler = func; }, locals: { requestStartTime: 0n, logger: { info: (_message: string) => { expected = 'ohoh!'; }, }, }, statusCode: 200, } as express.Response; onFinish(request, response, () => {}); eventHandler(); assert.equal(expected, ''); }); it('health failure', () => { let expected = ''; let eventHandler: () => void = () => {}; const request = { originalUrl: '/health' } as express.Request; const response = { on: (_event, func: () => void) => { eventHandler = func; }, locals: { requestStartTime: 0n, logger: { error: (_message: string) => { expected = 'works!'; }, }, }, statusCode: 500, } as express.Response; onFinish(request, response, () => {}); eventHandler(); assert.equal(expected, 'works!'); }); });