UNPKG

sda

Version:

Software development assistant

87 lines 4.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const getEnvironment_1 = require("../src/getEnvironment"); const Constants_1 = require("./test/Constants"); describe('getEnvironment', () => { test('get the environment from the id', () => { const env = getEnvironment_1.getEnvironment(Constants_1.config, 'testEnv'); expect(env.id).toBe('testEnv'); expect(env.template).toBeDefined(); }); test('get the environment from an unexisting id', () => { expect(() => getEnvironment_1.getEnvironment(Constants_1.config, 'badInput')).toThrow(); }); test('get the environment from inside env path', () => { const env = getEnvironment_1.getEnvironment(Constants_1.config, '', 'C:\\folderA\\folderB\\folderC'); expect(env.id).toBe('testEnv'); expect(env.template.id).toBe(env.templateId); }); test('get the environment from inside env path with unexisting id', () => { const env = getEnvironment_1.getEnvironment(Constants_1.config, 'badInput', 'C:\\folderA\\folderB\\folderC'); expect(env.id).toBe('testEnv'); expect(env.template.id).toBe(env.templateId); }); test('get the environment from root env path', () => { const env = getEnvironment_1.getEnvironment(Constants_1.config, '', 'C:\\folderA\\folderB'); expect(env.id).toBe('testEnv'); expect(env.template.id).toBe(env.templateId); }); test('get the environment from outside env path fails', () => { expect(() => getEnvironment_1.getEnvironment(Constants_1.config, '', 'C:\\folderA')).toThrow(); }); test('enviroment has invalid template id fails', () => { expect(() => getEnvironment_1.getEnvironment(Constants_1.badConfig, 'badEnv', 'D:\\')).toThrow(); }); test('enviroment does not exist neither in path nor in arguments fails', () => { expect(() => getEnvironment_1.getEnvironment(Constants_1.badConfig, 'badInput', 'D:\\')).toThrow(); }); test('get environment with defaults', () => { const env = getEnvironment_1.getEnvironment(Constants_1.configWithDefault, 'testEnv'); expect(env.template.commands.defaultCommand).toBe('default'); // from the default expect(env.template.commands.inlineCommand).toBe('inline'); // from the actual template expect(env.template.aliases.dc).toBe('defaultCommand'); expect(env.template.aliases.ic).toBe('inlineCommand'); }); test('get environment with only default aliases', () => { const configWithOnlyDefaultAliases = Object.assign({}, Constants_1.configWithDefault); configWithOnlyDefaultAliases.templates.testTemplate.aliases = undefined; const env = getEnvironment_1.getEnvironment(configWithOnlyDefaultAliases, 'testEnv'); expect(env.template.aliases.dc).toBe('defaultCommand'); }); }); describe('getAllEnvironments', () => { test('no enviroments returns empty array', () => { const cfg = { templates: {}, environments: {} }; const envs = getEnvironment_1.getAllEnvironments(cfg); expect(envs.length).toBe(0); }); test('one enviroment returns a single element array', () => { const cfg = { templates: { tid: Constants_1.template }, environments: { test: { path: 'C:\\testFolder', templateId: 'tid' } } }; const envs = getEnvironment_1.getAllEnvironments(cfg); expect(envs.length).toBe(1); expect(envs[0].id).toBe('test'); expect(envs[0].template).toEqual(Constants_1.template); }); test('multiple enviroment returns an array', () => { const cfg = { templates: { tid: Constants_1.template }, environments: { test1: { path: 'C:\\testFolder1', templateId: 'tid' }, test2: { path: 'C:\\testFolder2', templateId: 'tid' } } }; const envs = getEnvironment_1.getAllEnvironments(cfg); expect(envs.length).toBe(2); expect(envs[0].id).toBe('test1'); expect(envs[0].template).toEqual(Constants_1.template); expect(envs[1].id).toBe('test2'); expect(envs[1].template).toEqual(Constants_1.template); }); }); //# sourceMappingURL=getEnvironment.test.js.map