1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-28 00:06:53 +01:00
unleash.unleash/test/e2e/helpers/test-helper.js

58 lines
1.5 KiB
JavaScript
Raw Normal View History

'use strict';
2016-10-26 10:43:11 +02:00
process.env.NODE_ENV = 'test';
2016-11-13 15:41:35 +01:00
const supertest = require('supertest');
const getApp = require('../../../lib/app');
const dbInit = require('./database-init');
const getLogger = require('../../fixtures/no-logger');
const StateService = require('../../../lib/state-service');
const { EventEmitter } = require('events');
const eventBus = new EventEmitter();
function createApp(stores, adminAuthentication = 'none', preHook) {
return getApp({
stores,
eventBus,
preHook,
adminAuthentication,
secret: 'super-secret',
sessionAge: 4000,
stateService: new StateService({ stores, getLogger }),
getLogger,
});
}
module.exports = {
async setupApp(name) {
const stores = await dbInit(name, getLogger);
const app = createApp(stores);
return {
request: supertest.agent(app),
destroy: () => stores.db.destroy(),
};
},
async setupAppWithAuth(name) {
const stores = await dbInit(name, getLogger);
const app = createApp(stores, 'unsecure');
return {
request: supertest.agent(app),
destroy: () => stores.db.destroy(),
};
},
async setupAppWithCustomAuth(name, preHook) {
const stores = await dbInit(name, getLogger);
const app = createApp(stores, 'custom', preHook);
return {
request: supertest.agent(app),
destroy: () => stores.db.destroy(),
};
2016-11-13 15:41:35 +01:00
},
};