diff --git a/test/eventApi.test.js b/test/eventApi.test.js deleted file mode 100644 index 8480c620ad..0000000000 --- a/test/eventApi.test.js +++ /dev/null @@ -1,42 +0,0 @@ -var request = require('supertest'), - mockery = require('mockery'); - -describe('The event api', function () { - var server; - - before(function () { - mockery.enable({ - warnOnReplace: false, - warnOnUnregistered: false, - useCleanCache: true - }); - - mockery.registerSubstitute('./eventDb', '../test/eventDbMock'); - mockery.registerSubstitute('./featureDb', '../test/featureDbMock'); - mockery.registerSubstitute('./strategyDb', '../test/strategyDbMock'); - - server = require('../server'); - request = request('http://localhost:' + server.app.get('port')); - }); - - after(function () { - mockery.disable(); - mockery.deregisterAll(); - server.server.close(); - }); - - it('returns events', function (done) { - request - .get('/events') - .expect('Content-Type', /json/) - .expect(200, done); - }); - - it('returns events given a name', function (done) { - request - .get('/events/myname') - .expect('Content-Type', /json/) - .expect(200, done); - }); - -}); \ No newline at end of file diff --git a/test/eventApiSpec.js b/test/eventApiSpec.js new file mode 100644 index 0000000000..3191aef91a --- /dev/null +++ b/test/eventApiSpec.js @@ -0,0 +1,23 @@ +var specHelper = require('./specHelper'); + +describe('The event api', function () { + var request; + + before(function () { request = specHelper.setupMockServer(); }); + after(specHelper.tearDownMockServer); + + it('returns events', function (done) { + request + .get('/events') + .expect('Content-Type', /json/) + .expect(200, done); + }); + + it('returns events given a name', function (done) { + request + .get('/events/myname') + .expect('Content-Type', /json/) + .expect(200, done); + }); + +}); \ No newline at end of file diff --git a/test/featureApiSpec.js b/test/featureApiSpec.js index 52ac7e8eab..60c210b12d 100644 --- a/test/featureApiSpec.js +++ b/test/featureApiSpec.js @@ -1,29 +1,10 @@ -var request = require('supertest'); -var mockery = require('mockery'); +var specHelper = require('./specHelper'); -describe('The api', function () { - var server; +describe('The features api', function () { + var request; - before(function () { - mockery.enable({ - warnOnReplace: false, - warnOnUnregistered: false, - useCleanCache: true - }); - - mockery.registerSubstitute('./eventDb', '../test/eventDbMock'); - mockery.registerSubstitute('./featureDb', '../test/featureDbMock'); - mockery.registerSubstitute('./strategyDb', '../test/strategyDbMock'); - - server = require('../server'); - request = request('http://localhost:' + server.app.get('port')); - }); - - after(function () { - mockery.disable(); - mockery.deregisterAll(); - server.server.close(); - }); + before(function () { request = specHelper.setupMockServer(); }); + after(specHelper.tearDownMockServer); it('returns three mocked feature toggles', function (done) { request diff --git a/test/routerSpec.js b/test/routerSpec.js new file mode 100644 index 0000000000..35ada85e1d --- /dev/null +++ b/test/routerSpec.js @@ -0,0 +1,18 @@ +var specHelper = require('./specHelper'); + +describe('The routes', function () { + var request; + + before(function () { request = specHelper.setupMockServer(); }); + after(specHelper.tearDownMockServer); + + describe('healthcheck', function () { + it('returns health good', function (done) { + request.get('/health') + .expect('Content-Type', /json/) + .expect(200) + .expect('{"health":"GOOD"}', done); + }); + }); + +}); \ No newline at end of file diff --git a/test/routers.test.js b/test/routers.test.js deleted file mode 100644 index 7345bf639b..0000000000 --- a/test/routers.test.js +++ /dev/null @@ -1,38 +0,0 @@ -var request = require('supertest'), - mockery = require('mockery'); - -describe('The routes', function () { - var server; - - before(function () { - mockery.enable({ - warnOnReplace: false, - warnOnUnregistered: false, - useCleanCache: true - }); - - mockery.registerSubstitute('./eventDb', '../test/eventDbMock'); - mockery.registerSubstitute('./featureDb', '../test/featureDbMock'); - mockery.registerSubstitute('./strategyDb', '../test/strategyDbMock'); - - server = require('../server'); - request = request('http://localhost:' + server.app.get('port')); - }); - - after(function () { - mockery.disable(); - mockery.deregisterAll(); - server.server.close(); - }); - - describe('healthcheck', function () { - - it('returns health good', function (done) { - request.get('/health') - .expect('Content-Type', /json/) - .expect(200) - .expect('{"health":"GOOD"}', done); - }); - }); - -}); \ No newline at end of file diff --git a/test/specHelper.js b/test/specHelper.js new file mode 100644 index 0000000000..840a6f9864 --- /dev/null +++ b/test/specHelper.js @@ -0,0 +1,35 @@ +var request = require('supertest'); +var mockery = require('mockery'); + +var server; + +function setupMockServer() { + mockery.enable({ + warnOnReplace: false, + warnOnUnregistered: false, + useCleanCache: true + }); + + mockery.registerSubstitute('./eventDb', '../test/eventDbMock'); + mockery.registerSubstitute('./featureDb', '../test/featureDbMock'); + mockery.registerSubstitute('./strategyDb', '../test/strategyDbMock'); + + server = require('../server'); + + return request('http://localhost:' + server.app.get('port')); +} + +function tearDownMockServer() { + mockery.disable(); + mockery.deregisterAll(); + + if (server) { + server.server.close(); + server = null; + } +} + +module.exports = { + setupMockServer: setupMockServer, + tearDownMockServer: tearDownMockServer +}; \ No newline at end of file