mirror of
https://github.com/abrendan/MicDropMessages.git
synced 2025-12-14 17:34:05 +01:00
Initial commit
This commit is contained in:
85
node_modules/server/error/index.test.js
generated
vendored
Normal file
85
node_modules/server/error/index.test.js
generated
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
const ErrorFactory = require('./index.js');
|
||||
|
||||
describe('server/error', () => {
|
||||
it('is a function', () => {
|
||||
expect(ErrorFactory instanceof Function).toBe(true);
|
||||
});
|
||||
|
||||
it('canNOT do simple errors', () => {
|
||||
expect(new ErrorFactory('Hello world').message).not.toBe('Hello world');
|
||||
expect(new ErrorFactory('Hello world') instanceof Error).not.toBe(true);
|
||||
});
|
||||
|
||||
it('does not create a plain error', () => {
|
||||
expect(ErrorFactory().message).toBe(undefined);
|
||||
expect(ErrorFactory() instanceof Function).toBe(true);
|
||||
expect(ErrorFactory('Hello world').message).toBe(undefined);
|
||||
expect(ErrorFactory('Hello world') instanceof Function).toBe(true);
|
||||
expect(ErrorFactory('Hello world', {}).message).toBe(undefined);
|
||||
expect(ErrorFactory('Hello world', {}) instanceof Function).toBe(true);
|
||||
});
|
||||
|
||||
it('can create errors from within the factory', () => {
|
||||
expect(ErrorFactory('/server/')('test') instanceof Error).toBe(true);
|
||||
expect(ErrorFactory('/server/')('test').code).toBe('/server/test');
|
||||
expect(ErrorFactory('/server/')('test', { status: 500 }).status).toBe(500);
|
||||
});
|
||||
|
||||
it('can create errors from within the factory', () => {
|
||||
expect(ErrorFactory('/server/')('test') instanceof Error).toBe(true);
|
||||
expect(ErrorFactory('/server/')('test').code).toBe('/server/test');
|
||||
expect(ErrorFactory('/server/')('test').namespace).toBe('/server/');
|
||||
expect(ErrorFactory('/server/')('test', { status: 500 }).status).toBe(500);
|
||||
});
|
||||
|
||||
describe('Namespaces', () => {
|
||||
const TestError = ErrorFactory('/server/', { status: 500 });
|
||||
|
||||
it('has the correct defaults', () => {
|
||||
expect(TestError().status).toBe(500);
|
||||
expect(TestError().code).toBe('/server');
|
||||
expect(TestError().id).toBe('server');
|
||||
});
|
||||
|
||||
it('can extend the errors', () => {
|
||||
const err = TestError('demo', { status: 501 });
|
||||
expect(err.status).toBe(501);
|
||||
expect(err.code).toBe('/server/demo');
|
||||
expect(err.id).toBe('server-demo');
|
||||
});
|
||||
|
||||
it('is the same as with the instance', () => {
|
||||
const err = TestError('demo', { status: 501 });
|
||||
const err2 = new TestError('demo', { status: 501 });
|
||||
expect(err).toMatchObject(err2);
|
||||
});
|
||||
});
|
||||
|
||||
describe('Define errors', () => {
|
||||
const TestError = ErrorFactory('/server/', { status: 500 });
|
||||
TestError.aaa = 'First error';
|
||||
|
||||
it('has the correct message', () => {
|
||||
expect(TestError('aaa').message).toBe('First error');
|
||||
});
|
||||
|
||||
it('can define an error with a function', () => {
|
||||
TestError.bbb = () => `Function error`;
|
||||
expect(TestError('bbb').message).toBe('Function error');
|
||||
});
|
||||
|
||||
it('defines errors globally', () => {
|
||||
expect(TestError('bbb').message).toBe('Function error');
|
||||
});
|
||||
|
||||
it('errors are namespaced', () => {
|
||||
const TestError = ErrorFactory('/server/');
|
||||
expect(TestError('bbb').message).toBe(undefined);
|
||||
});
|
||||
|
||||
it('gets the options in the interpolation', () => {
|
||||
TestError.ccc = ({ status }) => `Function error ${status}`;
|
||||
expect(TestError('ccc', { status: 505 }).message).toBe('Function error 505');
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user