Newer
Older
import * as c from '../../lib/config.js';
import {expect} from 'chai';
let defaultConfig = c.config;
/*globals describe,it*/
describe('lib::CONFIG', () => {
'use strict';
describe('constructor', () => {
it('should get config from file', (done) => {
process.env.NODE_ENV = 'test';
let config = new c.Config(__dirname + '/assets.config/', 'TEST').config;
expect(config).property('db').to.be.a('string').to.equal('test.db');
done();
});
it('should get config from env', (done) => {
process.env.NODE_ENV = 'test';
process.env.TEST_DB = 'env.db';
let config = new c.Config(__dirname + '/assets.config/', 'TEST').config;
expect(config).property('db').to.be.a('string').to.equal('env.db');
delete process.env.TEST_DB;
done();
});
it('should merge file & env', (done) => {
process.env.NODE_ENV = 'test';
process.env.TEST_SESSION = 'env.db';
let config = new c.Config(__dirname + '/assets.config/', 'TEST').config;
expect(config).property('db').to.be.a('string').to.equal('test.db');
expect(config).property('session').to.be.a('string').to.equal('env.db');
it('should merge deep', (done) => {
{
process.env.NODE_ENV = 'test';
let config =
new c.Config(__dirname + '/assets.config/', 'DEEP').config;
expect(config).property('deep').property('one').equal(1);
expect(config).property('deep').property('zero').equal(2);
}
{
process.env.NODE_ENV = 'production';
let config = new c.Config(__dirname + '/assets.config/', 'DEEPTEST').config;
expect(config).property('deep').property('one').equal(1);
expect(config).property('deep').property('zero').equal(0);
done();
}
});
})