sda
Version:
Software development assistant
87 lines • 4.4 kB
JavaScript
;
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