From ba3e32ca706f7acdecfc8ea7a696db1c49069a50 Mon Sep 17 00:00:00 2001 From: typicode Date: Wed, 17 Aug 2016 21:51:22 +0200 Subject: [PATCH] add config test --- test/cli/fixtures/config.json | 6 +++++ test/cli/fixtures/middlewares/en.js | 4 +++ test/cli/fixtures/middlewares/jp.js | 4 +++ test/cli/index.js | 40 ++++++++++++++++------------- 4 files changed, 36 insertions(+), 18 deletions(-) create mode 100644 test/cli/fixtures/config.json create mode 100644 test/cli/fixtures/middlewares/en.js create mode 100644 test/cli/fixtures/middlewares/jp.js diff --git a/test/cli/fixtures/config.json b/test/cli/fixtures/config.json new file mode 100644 index 0000000..1b87ef8 --- /dev/null +++ b/test/cli/fixtures/config.json @@ -0,0 +1,6 @@ +{ + "middlewares": [ + "./fixtures/middlewares/en", + "./fixtures/middlewares/jp" + ] +} diff --git a/test/cli/fixtures/middlewares/en.js b/test/cli/fixtures/middlewares/en.js new file mode 100644 index 0000000..8799d00 --- /dev/null +++ b/test/cli/fixtures/middlewares/en.js @@ -0,0 +1,4 @@ +module.exports = function (req, res, next) { + res.header('X-Hello', 'World') + next() +} diff --git a/test/cli/fixtures/middlewares/jp.js b/test/cli/fixtures/middlewares/jp.js new file mode 100644 index 0000000..4df4d16 --- /dev/null +++ b/test/cli/fixtures/middlewares/jp.js @@ -0,0 +1,4 @@ +module.exports = function (req, res, next) { + res.header('X-Konnichiwa', 'Sekai') + next() +} diff --git a/test/cli/index.js b/test/cli/index.js index 4a0ca8d..7e552ee 100644 --- a/test/cli/index.js +++ b/test/cli/index.js @@ -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) + }) + }) })