mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +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 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
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										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