1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
import {
createJoinedEnvironments,
convertEnvironmentScope,
mapEnvironmentNames,
} from '~/ci_variable_list/utils';
import { allEnvironments } from '~/ci_variable_list/constants';
describe('utils', () => {
const environments = ['dev', 'prod'];
describe('createJoinedEnvironments', () => {
it('returns only `environments` if `variables` argument is undefined', () => {
const variables = undefined;
expect(createJoinedEnvironments(variables, environments)).toEqual(environments);
});
it('returns a list of environments and environment scopes taken from variables in alphabetical order', () => {
const envScope1 = 'new1';
const envScope2 = 'new2';
const variables = [{ environmentScope: envScope1 }, { environmentScope: envScope2 }];
expect(createJoinedEnvironments(variables, environments)).toEqual([
environments[0],
envScope1,
envScope2,
environments[1],
]);
});
it('removes duplicate environments', () => {
const envScope1 = environments[0];
const envScope2 = 'new2';
const variables = [{ environmentScope: envScope1 }, { environmentScope: envScope2 }];
expect(createJoinedEnvironments(variables, environments)).toEqual([
environments[0],
envScope2,
environments[1],
]);
});
});
describe('convertEnvironmentScope', () => {
it('converts the * to the `All environments` text', () => {
expect(convertEnvironmentScope('*')).toBe(allEnvironments.text);
});
it('returns the environment as is if not the *', () => {
expect(convertEnvironmentScope('prod')).toBe('prod');
});
});
describe('mapEnvironmentNames', () => {
const envName = 'dev';
const envName2 = 'prod';
const nodes = [
{ name: envName, otherProp: {} },
{ name: envName2, otherProp: {} },
];
it('flatten a nodes array with only their names', () => {
expect(mapEnvironmentNames(nodes)).toEqual([envName, envName2]);
});
});
});
|