@times/error-collection
v1.0.2
Published
Allows collections of errors to be built and bubbled up through an application
Downloads
6
Keywords
Readme
Error Collection
Allows collections of errors to be bubbled up through an application
Usage
// Load the library
const { ErrorCollection } = require('@times/error-collection');
// Create an error with attached data
const error = new ErrorCollection('INVALID_ID', { id });
// You can append more errors to the chain
error.addError('ANOTHER_ERROR');
// And then get all the errors back
error.getErrors();
Chai plugin
There is a Chai plugin that adds throwErrorCollection()
and rejectedWithErrorCollection()
methods which can be used for testing.
// Load the plugin
const { errorCollectionChaiPlugin } = require('@times/error-collection');
// Load chai and initialise the plugin
const chai = require('chai');
chai.use(errorCollectionChaiPlugin);
const expect = chai.expect;
// Write your tests
describe('myThing', () => {
describe('#myMethod()', () => {
it('should pass a valid check', () => {
expect(() => {}).to.throwErrorCollection([
{ code: 'SOME_ERROR', data: { name: 'test' } },
]);
});
it('should pass a valid promise check', () => {
return expect(
myFunction()
).to.be.rejectedWithErrorCollection([
{ code: 'SOME_ERROR', data: { name: 'test' } },
]);
});
});
});
Contributing
Pull requests are very welcome. Please include a clear description of any changes, and full test coverage.
During development you can run tests with
npm test