From e2d37ba67da7a4504ac98106beea677a6cf3ef72 Mon Sep 17 00:00:00 2001 From: typicode Date: Wed, 17 Aug 2016 22:30:53 +0200 Subject: [PATCH] use yargs array for middlewares --- src/cli/index.js | 3 ++- src/cli/run.js | 11 ++++++----- test/cli/index.js | 39 +++++++-------------------------------- 3 files changed, 15 insertions(+), 38 deletions(-) diff --git a/src/cli/index.js b/src/cli/index.js index 88abbc0..29c7f71 100644 --- a/src/cli/index.js +++ b/src/cli/index.js @@ -30,7 +30,8 @@ module.exports = function () { }, middlewares: { alias: 'm', - description: 'Path to middlewares file' + array: true, + description: 'Paths to middleware files' }, static: { alias: 's', diff --git a/src/cli/run.js b/src/cli/run.js index 897f4f6..d61f0ad 100644 --- a/src/cli/run.js +++ b/src/cli/run.js @@ -110,14 +110,15 @@ module.exports = function (argv) { } // Load middlewares + var middlewares if (argv.middlewares) { - if (!Array.isArray(argv.middlewares)) { - argv.middlewares = [argv.middlewares] - } - console.log(chalk.gray(' Loading', argv.middlewares)) - var middlewares = argv.middlewares.map(function (m) { return require(path.resolve(m)) }) + middlewares = argv.middlewares.map(function (m) { + console.log(chalk.gray(' Loading', m)) + return require(path.resolve(m)) + }) } + // Done console.log(chalk.gray(' Done')) // Create app and server diff --git a/test/cli/index.js b/test/cli/index.js index 7e552ee..c47a281 100644 --- a/test/cli/index.js +++ b/test/cli/index.js @@ -132,9 +132,9 @@ describe('cli', function () { }) }) - describe('db.json -m first-middleware.js -m second-middleware.js', function () { + describe('db.json -m first-middleware.js second-middleware.js', function () { beforeEach(function (done) { - child = cli([dbFile, '-m', middlewareFiles.en, '-m', middlewareFiles.jp]) + child = cli([dbFile, '-m', middlewareFiles.en, middlewareFiles.jp]) serverReady(PORT, done) }) @@ -184,7 +184,7 @@ describe('cli', function () { }) }) - describe('db.json --no-cors=true', function () { + describe('fixtures/seed.json --no-cors=true', function () { beforeEach(function (done) { child = cli(['fixtures/seed.js', '--no-cors=true']) serverReady(PORT, done) @@ -198,8 +198,8 @@ describe('cli', function () { .expect(200) .end(function (err, res) { if (err) { - return done(err) - } else if ('access-control-allow-origin' in res.headers) { + done(err) + } if ('access-control-allow-origin' in res.headers) { done(new Error('CORS headers were not excluded from response')) } else { done() @@ -208,7 +208,7 @@ describe('cli', function () { }) }) - describe('db.json --no-gzip=true', function () { + describe('fixtures/seed.json --no-gzip=true', function () { beforeEach(function (done) { child = cli(['fixtures/seed.js', '--no-gzip=true']) serverReady(PORT, done) @@ -218,11 +218,10 @@ describe('cli', function () { var origin = 'http://example.com' request.get('/posts') - .set('Origin', origin) .expect(200) .end(function (err, res) { if (err) { - return done(err) + done(err) } else if ('content-encoding' in res.headers) { done(new Error('Content-Encoding is set to gzip')) } else { @@ -232,30 +231,6 @@ describe('cli', function () { }) }) - describe('db.json --no-gzip=false', function () { - beforeEach(function (done) { - child = cli(['fixtures/seed.js', '--no-gzip=false']) - serverReady(PORT, done) - }) - - it('should set Content-Encoding to gzip', function (done) { - var origin = 'http://example.com' - - request.get('/posts') - .set('Origin', origin) - .expect(200) - .end(function (err, res) { - if (err) { - return done(err) - } else if ('content-encoding' in res.headers) { - done() - } else { - done(new Error('Content-Encoding is not set to gzip')) - } - }) - }) - }) - describe('--watch db.json -r routes.json', function () { beforeEach(function (done) { child = cli(['--watch', dbFile, '-r', routesFile])