Skip to content

Commit

Permalink
ModelError now accepts a previous error
Browse files Browse the repository at this point in the history
  • Loading branch information
jormaechea committed Oct 1, 2019
1 parent 86d16c0 commit 4052adf
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 2 deletions.
10 changes: 8 additions & 2 deletions lib/model-error.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,16 @@ class ModelError extends Error {
}

constructor(err, code) {
super(err);
this.message = err.message || err;

const message = err.message || err;

super(message);
this.message = message;
this.code = code;
this.name = 'ModelError';

if(err instanceof Error)
this.previousError = err;
}
}

Expand Down
28 changes: 28 additions & 0 deletions tests/model-error.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
'use strict';

const assert = require('assert');

const ModelError = require('../lib/model-error');

describe('Api Session Error', () => {

it('Should accept a message error and a code', () => {
const error = new ModelError('Some error', ModelError.codes.DATABASE_CONFIG_NOT_FOUND);

assert.strictEqual(error.message, 'Some error');
assert.strictEqual(error.code, ModelError.codes.DATABASE_CONFIG_NOT_FOUND);
assert.strictEqual(error.name, 'ModelError');
});

it('Should accept an error instance and a code', () => {

const previousError = new Error('Some error');

const error = new ModelError(previousError, ModelError.codes.DATABASE_CONFIG_NOT_FOUND);

assert.strictEqual(error.message, 'Some error');
assert.strictEqual(error.code, ModelError.codes.DATABASE_CONFIG_NOT_FOUND);
assert.strictEqual(error.name, 'ModelError');
assert.strictEqual(error.previousError, previousError);
});
});

0 comments on commit 4052adf

Please sign in to comment.