UNPKG

server

Version:

A modern and powerful server for Node.js

59 lines (52 loc) 1.56 kB
const server = require('../../server'); const { status } = server.reply; const ConfigError = require('server/src/config/errors'); // Test runner: const run = require('server/test/run'); describe('log()', () => { it('is defined', () => { server(parseInt(1000 + Math.random() * 10000)).then(ctx => { expect(ctx.log).toBeDefined(); ctx.close(); }); }); it('is inside the middleware', async () => { const res = await run(ctx => status(ctx.log ? 200 : 500)).get('/'); expect(res.statusCode).toBe(200); }); it('has the right methods', async () => { const res = await run(ctx => { expect(ctx.log.emergency).toBeDefined(); expect(ctx.log.alert).toBeDefined(); expect(ctx.log.critical).toBeDefined(); expect(ctx.log.error).toBeDefined(); expect(ctx.log.warning).toBeDefined(); expect(ctx.log.notice).toBeDefined(); expect(ctx.log.info).toBeDefined(); expect(ctx.log.debug).toBeDefined(); return status(200); }).get('/'); expect(res.statusCode).toBe(200); }); it('rejects invalid log levels', async () => { const res = run({ log: 'abc' }).get('/'); // Now errors must be fully qualified with Jest expect(res).rejects.toMatchObject( new ConfigError('enum', { name: 'level', value: 'abc', possible: [ 'debug', 'info', 'notice', 'warning', 'error', 'critical', 'alert', 'emergency' ], status: 500 }) ); }); });