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
50 lines
1.1 KiB
4 years ago
|
'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)
|
||
|
})
|