mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-31 00:16:47 +01:00
Test refactoring:
* reduce setup duplication * consistent test file names
This commit is contained in:
parent
7f7732a349
commit
479ea0772a
@ -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);
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
23
test/eventApiSpec.js
Normal file
23
test/eventApiSpec.js
Normal file
@ -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);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
@ -1,29 +1,10 @@
|
|||||||
var request = require('supertest');
|
var specHelper = require('./specHelper');
|
||||||
var mockery = require('mockery');
|
|
||||||
|
|
||||||
describe('The api', function () {
|
describe('The features api', function () {
|
||||||
var server;
|
var request;
|
||||||
|
|
||||||
before(function () {
|
before(function () { request = specHelper.setupMockServer(); });
|
||||||
mockery.enable({
|
after(specHelper.tearDownMockServer);
|
||||||
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 three mocked feature toggles', function (done) {
|
it('returns three mocked feature toggles', function (done) {
|
||||||
request
|
request
|
||||||
|
18
test/routerSpec.js
Normal file
18
test/routerSpec.js
Normal file
@ -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);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
@ -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);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
35
test/specHelper.js
Normal file
35
test/specHelper.js
Normal file
@ -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
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user