mirror of
https://github.com/typicode/json-server.git
synced 2025-07-28 04:32:24 +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 request
|
||||||
var dbFile
|
var dbFile
|
||||||
var routesFile
|
var routesFile
|
||||||
var middlewareFiles
|
var middlewareFiles = {
|
||||||
|
en: './fixtures/middlewares/en.js',
|
||||||
|
jp: './fixtures/middlewares/jp.js'
|
||||||
|
}
|
||||||
|
|
||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
dbFile = tempWrite.sync(JSON.stringify({
|
dbFile = tempWrite.sync(JSON.stringify({
|
||||||
@ -42,18 +45,6 @@ describe('cli', function () {
|
|||||||
'/blog/': '/'
|
'/blog/': '/'
|
||||||
}), 'routes.json')
|
}), '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
|
++PORT
|
||||||
request = supertest('http://localhost:' + 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) {
|
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)
|
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) {
|
beforeEach(function (done) {
|
||||||
child = cli([dbFile, '-m', middlewareFiles[0], '-m', middlewareFiles[1]])
|
child = cli([dbFile, '-m', middlewareFiles.en, '-m', middlewareFiles.jp])
|
||||||
serverReady(PORT, done)
|
serverReady(PORT, done)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should apply all middlewares', function (done) {
|
it('should apply all middlewares', function (done) {
|
||||||
request.get('/blog/posts')
|
request.get('/posts')
|
||||||
.expect('X-Hello', 'World')
|
.expect('X-Hello', 'World')
|
||||||
.expect('X-Konnichiwa', 'Sekai', done)
|
.expect('X-Konnichiwa', 'Sekai', done)
|
||||||
})
|
})
|
||||||
@ -287,4 +278,17 @@ describe('cli', function () {
|
|||||||
}, 9000)
|
}, 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