mikro-config
Version:
tiny node config wrapper for plain JS configuration files
50 lines (44 loc) • 1.84 kB
text/typescript
process.env.NODE_CONFIG_DIR = __dirname + '/json-conf';
import config from '../lib';
describe('mikro-config [json conf]', () => {
process.env.MIKRO_CONFIG_PREFIX = '';
it('has `get` method', () => {
expect(config.get('key1')).toBe('value1');
expect(config.get('key2')).toBe(123);
expect(config.get('key3')).toBe(false);
expect(config.get('key4')).toBe(true);
expect(config.get('key5')).toBeInstanceOf(Object);
expect(config.get('key5.subKey1')).toBe(1);
expect(config.get('key5.subKey2')).toBe('2');
expect(config.get('key5.subKey3')).toBe('true');
expect(config.get('key5.subKey4')).toBe(true);
expect(config.get('routes')).toBeInstanceOf(Object);
expect(config.get('routes.route1')).toBe('path1');
expect(config.get('routes.route2')).toBe('path2');
expect(config.get('routes.route3')).toBe('path3');
});
it('has property getter', () => {
expect(config.key1).toBe('value1');
expect(config.key2).toBe(123);
expect(config.key3).toBe(false);
expect(config.key4).toBe(true);
expect(config.key5).toBeInstanceOf(Object);
expect(config.key5.subKey1).toBe(1);
expect(config.key5.subKey2).toBe('2');
expect(config.key5.subKey3).toBe('true');
expect(config.key5.subKey4).toBe(true);
});
it('has `has` method', () => {
expect(config.has('key1')).toBe(true);
expect(config.has('key2')).toBe(true);
expect(config.has('key3')).toBe(true);
expect(config.has('key4')).toBe(true);
expect(config.has('key5')).toBe(true);
expect(config.has('key6')).toBe(false);
expect(config.has('key5.subKey1')).toBe(true);
expect(config.has('key5.subKey2')).toBe(true);
expect(config.has('key5.subKey3')).toBe(true);
expect(config.has('key5.subKey4')).toBe(true);
expect(config.has('key5.subKey5')).toBe(false);
});
});