You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.1 KiB

'use strict'
const t = require('tap')
const test = t.test
const FindMyWay = require('../')
test('handler should have the store object', t => {
t.plan(1)
const findMyWay = FindMyWay()
findMyWay.on('GET', '/test', (req, res, params, store) => {
t.is(store.hello, 'world')
}, { hello: 'world' })
findMyWay.lookup({ method: 'GET', url: '/test', headers: {} }, null)
})
test('find a store object', t => {
t.plan(1)
const findMyWay = FindMyWay()
const fn = () => {}
findMyWay.on('GET', '/test', fn, { hello: 'world' })
t.deepEqual(findMyWay.find('GET', '/test'), {
handler: fn,
params: {},
store: { hello: 'world' }
})
})
test('update the store', t => {
t.plan(2)
const findMyWay = FindMyWay()
var bool = false
findMyWay.on('GET', '/test', (req, res, params, store) => {
if (!bool) {
t.is(store.hello, 'world')
store.hello = 'hello'
bool = true
findMyWay.lookup({ method: 'GET', url: '/test', headers: {} }, null)
} else {
t.is(store.hello, 'hello')
}
}, { hello: 'world' })
findMyWay.lookup({ method: 'GET', url: '/test', headers: {} }, null)
})