1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-01 00:08:27 +01:00

fixed unit tests

This commit is contained in:
ivaosthu 2016-11-05 17:02:46 +01:00
parent 237ac7731c
commit 4aa97b159c
6 changed files with 60 additions and 38 deletions

View File

@ -37,13 +37,13 @@
"start:dev:pg-chain": "export DATABASE_URL=postgres://$PGUSER:$PGPASSWORD@localhost:$PGPORT/postgres ; db-migrate up && npm run start:dev",
"db-migrate": "db-migrate up",
"db-migrate:down": "db-migrate down",
"test": "export PORT=4243 ; mocha test/**/*.js && npm run test:coverage",
"test": "export PORT=4243 ; mocha --recursive test && npm run test:coverage",
"test:unit": "mocha test/unit/**/*.js ",
"test:ci": "npm run db-migrate && npm run test",
"test:watch": "mocha --watch test test/*",
"test:pg-virtualenv": "pg_virtualenv npm run test:pg-virtualenv-chai",
"test:pg-virtualenv-chain": "export TEST_DATABASE_URL=postgres://$PGUSER:$PGPASSWORD@localhost:$PGPORT/postgres ; npm run db-migrate-testdb && npm test",
"test:coverage": "istanbul cover ./node_modules/mocha/bin/_mocha test/**/*.js --report lcovonly -- -R spec",
"test:coverage": "istanbul cover ./node_modules/mocha/bin/_mocha test --report lcovonly -- -R spec --recursive",
"test:coverage-report": "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage"
},
"dependencies": {

View File

@ -1,25 +1,30 @@
'use strict';
const clientMetricsStore = require('./mocks/fake-metrics-store');
const featureToggleStore = require('./mocks/fake-feature-toggle-store');
const strategyStore = require('./mocks/fake-strategies-store');
const supertest = require('supertest');
const BPromise = require('bluebird');
BPromise.promisifyAll(supertest);
const assert = require('assert');
const sinon = require('sinon');
let request;
let featureDb;
describe('Unit: The features api', () => {
beforeEach(done => {
featureDb = createFeatureDb();
featureToggleStore.reset();
const app = require('../../../app')({
baseUriPath: '',
db: sinon.stub(),
eventDb: sinon.stub(),
eventStore: sinon.stub(),
featureDb,
strategyDb: sinon.stub(),
stores: {
db: sinon.stub(),
eventStore: sinon.stub(),
featureToggleStore,
clientMetricsStore,
strategyStore,
clientStrategyStore: sinon.stub(),
clientInstanceStore: sinon.stub(),
},
});
request = supertest(app);
@ -38,7 +43,7 @@ describe('Unit: The features api', () => {
});
it('should get one getFeature', (done) => {
featureDb.addFeature( { name: 'test', strategies: [{ name: 'default' }] } );
featureToggleStore.addFeature( { name: 'test', strategies: [{ name: 'default' }] } );
request
.get('/features')
@ -51,7 +56,7 @@ describe('Unit: The features api', () => {
});
it('should add version numbers for /features', (done) => {
featureDb.addFeature( { name: 'test', strategies: [{ name: 'default' }] } );
featureToggleStore.addFeature( { name: 'test', strategies: [{ name: 'default' }] } );
request
.get('/features')
@ -63,11 +68,3 @@ describe('Unit: The features api', () => {
});
});
});
function createFeatureDb () {
const _features = [];
return {
getFeatures: () => BPromise.resolve(_features),
addFeature: (feature) => _features.push(feature),
};
}

View File

@ -0,0 +1,11 @@
'use strict';
const _features = [];
module.exports = {
getFeatures: () => Promise.resolve(_features),
addFeature: (feature) => _features.push(feature),
reset: () => {
_features.lengyh = 0;
},
};

View File

@ -0,0 +1,5 @@
'use strict';
module.exports = {
getMetricsLastHour: () => Promise.resolve([]),
};

View File

@ -0,0 +1,12 @@
'use strict';
const _strategies = [{ name: 'default', parameters: {} }];
module.exports = {
getStrategies: () => Promise.resolve(_strategies),
addStrategy: (strat) => _strategies.push(strat),
reset: () => {
_strategies.length = 0;
},
};

View File

@ -1,25 +1,30 @@
'use strict';
const clientMetricsStore = require('./mocks/fake-metrics-store');
const featureToggleStore = require('./mocks/fake-feature-toggle-store');
const strategyStore = require('./mocks/fake-strategies-store');
const supertest = require('supertest');
const BPromise = require('bluebird');
BPromise.promisifyAll(supertest);
const assert = require('assert');
const sinon = require('sinon');
let request;
let stratDb;
describe('Unit: The strategies api', () => {
beforeEach(done => {
stratDb = createStrategyDb();
strategyStore.reset();
const app = require('../../../app')({
baseUriPath: '',
db: sinon.stub(),
eventDb: sinon.stub(),
eventStore: sinon.stub(),
featureDb: sinon.stub(),
strategyDb: stratDb,
stores: {
db: sinon.stub(),
eventStore: sinon.stub(),
featureToggleStore,
clientMetricsStore,
strategyStore,
clientStrategyStore: sinon.stub(),
clientInstanceStore: sinon.stub(),
},
});
request = supertest(app);
@ -37,11 +42,3 @@ describe('Unit: The strategies api', () => {
});
});
});
function createStrategyDb () {
const _strategies = [{ name: 'default', parameters: {} }];
return {
getStrategies: () => BPromise.resolve(_strategies),
addStrategy: (strat) => _strategies.push(strat),
};
}