You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
9 years ago
|
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()
|
||
|
})
|
||
|
})
|
||
|
})
|
||
|
})
|