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.
125 lines
1.9 KiB
125 lines
1.9 KiB
3 years ago
|
'use strict'
|
||
|
|
||
|
const { test } = require('tap')
|
||
|
const fastify = require('..')
|
||
|
|
||
|
test('same shape on Request', async (t) => {
|
||
|
t.plan(1)
|
||
|
|
||
|
const app = fastify()
|
||
|
|
||
|
let request
|
||
|
|
||
|
app.decorateRequest('user')
|
||
|
|
||
|
app.addHook('preHandler', (req, reply, done) => {
|
||
|
if (request) {
|
||
|
req.user = 'User'
|
||
|
}
|
||
|
done()
|
||
|
})
|
||
|
|
||
|
app.get('/', (req, reply) => {
|
||
|
if (request) {
|
||
|
t.equal(%HaveSameMap(request, req), true)
|
||
|
}
|
||
|
|
||
|
request = req
|
||
|
|
||
|
return 'hello world'
|
||
|
})
|
||
|
|
||
|
await app.inject('/')
|
||
|
await app.inject('/')
|
||
|
})
|
||
|
|
||
|
test('same shape on Request when object', async (t) => {
|
||
|
t.plan(1)
|
||
|
|
||
|
const app = fastify()
|
||
|
|
||
|
let request
|
||
|
|
||
|
app.decorateRequest('object', null)
|
||
|
|
||
|
app.addHook('preHandler', (req, reply, done) => {
|
||
|
if (request) {
|
||
|
req.object = {}
|
||
|
}
|
||
|
done()
|
||
|
})
|
||
|
|
||
|
app.get('/', (req, reply) => {
|
||
|
if (request) {
|
||
|
t.equal(%HaveSameMap(request, req), true)
|
||
|
}
|
||
|
|
||
|
request = req
|
||
|
|
||
|
return 'hello world'
|
||
|
})
|
||
|
|
||
|
await app.inject('/')
|
||
|
await app.inject('/')
|
||
|
})
|
||
|
|
||
|
test('same shape on Reply', async (t) => {
|
||
|
t.plan(1)
|
||
|
|
||
|
const app = fastify()
|
||
|
|
||
|
let _reply
|
||
|
|
||
|
app.decorateReply('user')
|
||
|
|
||
|
app.addHook('preHandler', (req, reply, done) => {
|
||
|
if (_reply) {
|
||
|
reply.user = 'User'
|
||
|
}
|
||
|
done()
|
||
|
})
|
||
|
|
||
|
app.get('/', (req, reply) => {
|
||
|
if (_reply) {
|
||
|
t.equal(%HaveSameMap(_reply, reply), true)
|
||
|
}
|
||
|
|
||
|
_reply = reply
|
||
|
|
||
|
return 'hello world'
|
||
|
})
|
||
|
|
||
|
await app.inject('/')
|
||
|
await app.inject('/')
|
||
|
})
|
||
|
|
||
|
test('same shape on Reply when object', async (t) => {
|
||
|
t.plan(1)
|
||
|
|
||
|
const app = fastify()
|
||
|
|
||
|
let _reply
|
||
|
|
||
|
app.decorateReply('object', null)
|
||
|
|
||
|
app.addHook('preHandler', (req, reply, done) => {
|
||
|
if (_reply) {
|
||
|
reply.object = {}
|
||
|
}
|
||
|
done()
|
||
|
})
|
||
|
|
||
|
app.get('/', (req, reply) => {
|
||
|
if (_reply) {
|
||
|
t.equal(%HaveSameMap(_reply, reply), true)
|
||
|
}
|
||
|
|
||
|
_reply = reply
|
||
|
|
||
|
return 'hello world'
|
||
|
})
|
||
|
|
||
|
await app.inject('/')
|
||
|
await app.inject('/')
|
||
|
})
|