Skip to content

Commit

Permalink
fix: not found error
Browse files Browse the repository at this point in the history
  • Loading branch information
zetxx committed Jun 7, 2022
1 parent 714c87d commit e1ad0d4
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 10 deletions.
11 changes: 9 additions & 2 deletions lib/router/errors.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
const {WError, MultiError} = require('error');
const {SError, MultiError} = require('error');

class Router extends WError {}
class Router extends SError {}
class RouterRouteNotFound extends SError {}
class RouterMulti extends MultiError {}

module.exports = {
RouterError: Router,
RouterErrorRouteNotFound:
(args) =>
RouterRouteNotFound.create(
'Route {vector} not found',
args
),
RouterMultiError: RouterMulti
};
7 changes: 6 additions & 1 deletion lib/router/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const Methods = require('../methods');
const Requests = require('../requests');
const {RouterError, RouterMultiError} = require('./errors');
const {RouterErrorRouteNotFound, RouterMultiError} = require('./errors');

const defaultLog = (level, message) => {};

Expand All @@ -14,6 +14,11 @@ const Router = ({
vectors.set(1, V1);

const pass = async({vector, packet}) => {
if(!vectors.get(vector)) {
throw RouterErrorRouteNotFound(
{vector}
);
}
};

return {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
},
"devDependencies": {
"semantic-release": "^19.0.2",
"tap": "^16.0.1"
"tap": "^16.2.0"
},
"scripts": {
"unit-test": "./node_modules/tap/bin/run.js --no-cov ./tests/unit/"
Expand Down
13 changes: 7 additions & 6 deletions tests/unit/router/test.router.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
const tap = require('tap');
const Router = require('../../../lib/router');
const {RouterErrorRouteNotFound} = require('../../../lib/router/errors');
const {
routerPassFactory,
timeOut,
Expand All @@ -9,7 +10,7 @@ const {

const log = (level, msg) => console[level](msg)

tap.test('Router', (l0) => {
tap.test('Router', async(l0) => {
const v1 = vectorFactory({
log,
config: {
Expand All @@ -34,10 +35,10 @@ tap.test('Router', (l0) => {
vectors: [v1, v2]
});

router.pass({
vector: 0,
packet: {}
})

try {
await router.pass({vector: 5});
} catch (e) {
l0.match(e, RouterErrorRouteNotFound({vector: 5}), 'route not found');
}
l0.end();
});

0 comments on commit e1ad0d4

Please sign in to comment.