123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- 'use strict'
- const test = require('tap').test
- const build = require('..')
- process.removeAllListeners('warning')
- test('Create warning with zero parameter', t => {
- t.plan(3)
- const { create } = build()
- const buildWarnOpts = create('FastifyWarning', 'CODE', 'Not available')
- const opts = buildWarnOpts()
- t.equal(opts.name, 'FastifyWarning')
- t.equal(opts.message, 'Not available')
- t.equal(opts.code, 'CODE')
- })
- test('Create error with 1 parameter', t => {
- t.plan(3)
- const { create } = build()
- const buildWarningOpts = create('FastifyWarning', 'CODE', 'hey %s')
- const opts = buildWarningOpts('alice')
- t.equal(opts.name, 'FastifyWarning')
- t.equal(opts.message, 'hey alice')
- t.equal(opts.code, 'CODE')
- })
- test('Create error with 2 parameters', t => {
- t.plan(3)
- const { create } = build()
- const buildWarnOpts = create('FastifyWarning', 'CODE', 'hey %s, I like your %s')
- const opts = buildWarnOpts('alice', 'attitude')
- t.equal(opts.name, 'FastifyWarning')
- t.equal(opts.message, 'hey alice, I like your attitude')
- t.equal(opts.code, 'CODE')
- })
- test('Create error with 3 parameters', t => {
- t.plan(3)
- const { create } = build()
- const buildWarnOpts = create('FastifyWarning', 'CODE', 'hey %s, I like your %s %s')
- const opts = buildWarnOpts('alice', 'attitude', 'see you')
- t.equal(opts.name, 'FastifyWarning')
- t.equal(opts.message, 'hey alice, I like your attitude see you')
- t.equal(opts.code, 'CODE')
- })
- test('Creates a deprecation warning', t => {
- t.plan(3)
- const manager = build()
- const builder = manager.createDeprecation('CODE', 'hello %s')
- const warning = builder('world')
- t.equal(warning.name, 'DeprecationWarning')
- t.equal(warning.message, 'hello world')
- t.equal(warning.code, 'CODE')
- })
- test('Should throw when error code has no fastify name', t => {
- t.plan(1)
- const { create } = build()
- t.throws(() => create(), new Error('Warning name must not be empty'))
- })
- test('Should throw when error has no code', t => {
- t.plan(1)
- const { create } = build()
- t.throws(() => create('name'), new Error('Warning code must not be empty'))
- })
- test('Should throw when error has no message', t => {
- t.plan(1)
- const { create } = build()
- t.throws(() => create('name', 'code'), new Error('Warning message must not be empty'))
- })
- test('Should throw if emit is called with unknown code ', t => {
- t.plan(1)
- const { emit } = build()
- t.throws(() => emit('CODE'), new Error('The code \'CODE\' does not exist'))
- })
- test('Cannot reuse the same code more than once', t => {
- t.plan(1)
- const { create } = build()
- create('FastifyWarning', 'CODE', 'Not available')
- t.throws(() => create('FastifyWarning', 'CODE', 'Not available'), new Error("The code 'CODE' already exist"))
- })
- test('Cannot set unlimited other than boolean', t => {
- t.plan(1)
- const { create } = build()
- t.throws(() => create('FastifyWarning', 'CODE', 'Msg', { unlimited: 42 }), new Error('Warning opts.unlimited must be a boolean'))
- })
|