Comparing version 1.1.1 to 1.2.0
20
index.js
@@ -45,2 +45,4 @@ 'use strict'; | ||
* Factory method that creates and logs new boom errors. | ||
* Does NOT report errors - use createAndReport | ||
* @param {Number} code HTTP error code for the error | ||
* @param {string} message Message describing the error. | ||
@@ -57,2 +59,16 @@ * @param {mixed} data Additional data for the error. | ||
/** | ||
* Factory method to create AND report boom errors. | ||
* Logs with debug AND reports error to rollbar (if able) | ||
* @param {Number} code HTTP error code for the error | ||
* @param {string} message Message describing the error. | ||
* @param {mixed} data Additional data for the error. | ||
* @return {Error} The error object as specified by the parameters. | ||
*/ | ||
ErrorCat.prototype.createAndReport = function (code, message, data) { | ||
var err = this.create(code, message, data); // calls this.log | ||
this.report(err); | ||
return err; | ||
}; | ||
/** | ||
* Responder that sends error information along with a 500 status code. | ||
@@ -76,5 +92,6 @@ * @param {Error} err Error to use for the response. | ||
}; | ||
/* jslint unused:true */ | ||
/** | ||
* Logs errors via debug, and reports them to rollbar. | ||
* Logs errors via debug | ||
* @param {Error} err The error to log. | ||
@@ -84,3 +101,2 @@ */ | ||
this.debug(err); | ||
this.report(err); | ||
}; | ||
@@ -87,0 +103,0 @@ |
{ | ||
"name": "error-cat", | ||
"version": "1.1.1", | ||
"version": "1.2.0", | ||
"description": "A friendly feline companion that helps you create, track, and report errors.", | ||
@@ -12,3 +12,3 @@ "main": "index.js", | ||
"lint": "jshint index.js", | ||
"unit": "lab -v -c -a code test/*", | ||
"unit": "lab -v -c -a code", | ||
"test": "npm run lint && npm run unit" | ||
@@ -37,3 +37,3 @@ }, | ||
"dependencies": { | ||
"101": "^0.16.1", | ||
"101": "^0.18.0", | ||
"auto-debug": "^1.0.1", | ||
@@ -40,0 +40,0 @@ "boom": "^2.7.1", |
@@ -121,2 +121,3 @@ 'use strict'; | ||
sinon.stub(error, 'log'); | ||
sinon.stub(error, 'report'); | ||
sinon.stub(Boom, 'create'); | ||
@@ -128,2 +129,3 @@ done(); | ||
error.log.restore(); | ||
error.report.restore(); | ||
Boom.create.restore(); | ||
@@ -151,4 +153,54 @@ done(); | ||
}); | ||
it('should NOT send the error to rollbar', function(done) { | ||
var err = error.create(400, 'Message', {}); | ||
expect(error.report.notCalled).to.be.true(); | ||
done(); | ||
}); | ||
}); // end 'create' | ||
describe('createAndReport', function() { | ||
var error = new ErrorCat(); | ||
beforeEach(function (done) { | ||
sinon.stub(error, 'log'); | ||
sinon.stub(error, 'report'); | ||
sinon.stub(Boom, 'create'); | ||
done(); | ||
}); | ||
afterEach(function (done) { | ||
error.log.restore(); | ||
error.report.restore(); | ||
Boom.create.restore(); | ||
done(); | ||
}); | ||
it('should create a new boom error', function(done) { | ||
var code = 400; | ||
var message = 'Error Message'; | ||
var data = { key: 'value' }; | ||
var expected = new Error('Errorz'); | ||
Boom.create.returns(expected); | ||
expect(error.createAndReport(code, message, data)).to.equal(expected); | ||
expect(Boom.create.calledOnce).to.be.true(); | ||
expect(Boom.create.calledWith(code, message, data)).to.be.true(); | ||
done(); | ||
}); | ||
it('should log the error', function(done) { | ||
var err = error.createAndReport(400, 'Message', {}); | ||
expect(error.log.calledOnce).to.be.true(); | ||
expect(error.log.calledWith(err)).to.be.true(); | ||
done(); | ||
}); | ||
it('should send the error to rollbar', function(done) { | ||
var err = error.createAndReport(400, 'Message', {}); | ||
expect(error.report.calledOnce).to.be.true(); | ||
expect(error.report.calledWith(err)).to.be.true(); | ||
done(); | ||
}); | ||
}); // end 'createAndReport' | ||
describe('respond', function() { | ||
@@ -208,7 +260,6 @@ var error = new ErrorCat(); | ||
it('should report errors', function(done) { | ||
it('should NOT report errors', function(done) { | ||
var err = new Error('Example'); | ||
error.log(err); | ||
expect(error.report.calledOnce).to.be.true(); | ||
expect(error.report.calledWith(err)).to.be.true(); | ||
expect(error.report.notCalled).to.be.true(); | ||
done(); | ||
@@ -215,0 +266,0 @@ }); |
18577
403
+ Added101@0.18.0(transitive)
- Removed101@0.16.1(transitive)
Updated101@^0.18.0