mirror of
https://github.com/typicode/json-server.git
synced 2025-07-27 20:23:34 +08:00
add config test
This commit is contained in:
6
test/cli/fixtures/config.json
Normal file
6
test/cli/fixtures/config.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"middlewares": [
|
||||
"./fixtures/middlewares/en",
|
||||
"./fixtures/middlewares/jp"
|
||||
]
|
||||
}
|
4
test/cli/fixtures/middlewares/en.js
Normal file
4
test/cli/fixtures/middlewares/en.js
Normal file
@ -0,0 +1,4 @@
|
||||
module.exports = function (req, res, next) {
|
||||
res.header('X-Hello', 'World')
|
||||
next()
|
||||
}
|
4
test/cli/fixtures/middlewares/jp.js
Normal file
4
test/cli/fixtures/middlewares/jp.js
Normal file
@ -0,0 +1,4 @@
|
||||
module.exports = function (req, res, next) {
|
||||
res.header('X-Konnichiwa', 'Sekai')
|
||||
next()
|
||||
}
|
@ -28,7 +28,10 @@ describe('cli', function () {
|
||||
var request
|
||||
var dbFile
|
||||
var routesFile
|
||||
var middlewareFiles
|
||||
var middlewareFiles = {
|
||||
en: './fixtures/middlewares/en.js',
|
||||
jp: './fixtures/middlewares/jp.js'
|
||||
}
|
||||
|
||||
beforeEach(function () {
|
||||
dbFile = tempWrite.sync(JSON.stringify({
|
||||
@ -42,18 +45,6 @@ describe('cli', function () {
|
||||
'/blog/': '/'
|
||||
}), 'routes.json')
|
||||
|
||||
middlewareFiles = [
|
||||
tempWrite.sync(
|
||||
'module.exports = function (req, res, next) {\n' +
|
||||
' res.header("X-Hello", "World")\n' +
|
||||
' next() }'
|
||||
, 'helloWorldMiddleware.js'),
|
||||
tempWrite.sync(
|
||||
'module.exports = function (req, res, next) {\n' +
|
||||
' res.header("X-Konnichiwa", "Sekai")\n' +
|
||||
' next() }'
|
||||
, 'helloWorldJaMiddlewares.js')
|
||||
]
|
||||
++PORT
|
||||
request = supertest('http://localhost:' + PORT)
|
||||
})
|
||||
@ -122,9 +113,9 @@ describe('cli', function () {
|
||||
})
|
||||
})
|
||||
|
||||
describe('db.json -r routes.json -m helloWorldMiddleware.js -i _id --read-only', function () {
|
||||
describe('db.json -r routes.json -m middleware.js -i _id --read-only', function () {
|
||||
beforeEach(function (done) {
|
||||
child = cli([dbFile, '-r', routesFile, '-m', middlewareFiles[0], '-i', '_id', '--read-only'])
|
||||
child = cli([dbFile, '-r', routesFile, '-m', middlewareFiles.en, '-i', '_id', '--read-only'])
|
||||
serverReady(PORT, done)
|
||||
})
|
||||
|
||||
@ -141,14 +132,14 @@ describe('cli', function () {
|
||||
})
|
||||
})
|
||||
|
||||
describe('db.json -m helloWorldMiddleware.js -m helloWorldJaMiddleware.js', function () {
|
||||
describe('db.json -m first-middleware.js -m second-middleware.js', function () {
|
||||
beforeEach(function (done) {
|
||||
child = cli([dbFile, '-m', middlewareFiles[0], '-m', middlewareFiles[1]])
|
||||
child = cli([dbFile, '-m', middlewareFiles.en, '-m', middlewareFiles.jp])
|
||||
serverReady(PORT, done)
|
||||
})
|
||||
|
||||
it('should apply all middlewares', function (done) {
|
||||
request.get('/blog/posts')
|
||||
request.get('/posts')
|
||||
.expect('X-Hello', 'World')
|
||||
.expect('X-Konnichiwa', 'Sekai', done)
|
||||
})
|
||||
@ -287,4 +278,17 @@ describe('cli', function () {
|
||||
}, 9000)
|
||||
})
|
||||
})
|
||||
|
||||
describe('db.json --config some-config.json', function (done) {
|
||||
beforeEach(function (done) {
|
||||
child = cli([dbFile, '--config', 'fixtures/config.json'])
|
||||
serverReady(PORT, done)
|
||||
})
|
||||
|
||||
it('should apply all middlewares', function (done) {
|
||||
request.get('/posts')
|
||||
.expect('X-Hello', 'World')
|
||||
.expect('X-Konnichiwa', 'Sekai', done)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
Reference in New Issue
Block a user