var expect = require('expect') var Router = require('../lib/router') describe('Router', function () { it('→ exists', function () { expect(Router).toExist() }) describe('→ add routes', function () { it('→ add root node', function (done) { var router = new Router() router.add('/', function () { return 'some value' }) router.route('/', function (err, handlerResult) { expect(err).toBe(null) expect(handlerResult).toBe('some value') done() }) }) it('→ add/get nested route', function (done) { var router = new Router() router.add('/some/path/here', function () { return 'some value' }) router.route('/some/path/here', function (err, handlerResult) { expect(err).toBe(null) expect(handlerResult).toBe('some value') done() }) }) it('→ get error in callback for missing handler', function (done) { var router = new Router() router.route('/some/fake/path', function (err, handlerResult) { expect(err).toBeA(Error) expect(err.message).toMatch(/not found/) expect(handlerResult).toNotExist() done() }) }) }) })