Mariusz Nowak 712a569d52 feat(Variables): serviceDir option as replacement for servicePath
Support for `servicePath` is maintained until next major
2021-04-16 13:32:13 +02:00

38 lines
1.2 KiB
JavaScript

'use strict';
const { expect } = require('chai');
const fs = require('fs').promises;
const resolve = require('../../../../../lib/configuration/variables');
describe('test/unit/lib/configuration/variables/index.test.js', () => {
let configuration;
before(async () => {
process.env.ENV_SOURCE_TEST = 'foobar';
await fs.writeFile('foo.json', JSON.stringify({ json: 'content' }));
configuration = {
env: '${env:ENV_SOURCE_TEST}',
file: '${file(foo.json)}',
opt: '${opt:option}',
self: '${self:opt}',
strToBool: "${strToBool('false')}",
};
await resolve({
serviceDir: process.cwd(),
configuration,
options: { option: 'bar' },
});
});
after(() => {
delete process.env.ENV_SOURCE_TEST;
});
it('should resolve "env" source', () => expect(configuration.env).to.equal('foobar'));
it('should resolve "file" source', () =>
expect(configuration.file).to.deep.equal({ json: 'content' }));
it('should resolve "opt" source', () => expect(configuration.opt).to.equal('bar'));
it('should resolve "self" source', () => expect(configuration.self).to.equal('bar'));
it('should resolve "strToBool" source', () => expect(configuration.strToBool).to.equal(false));
});