|
1 | | -import { Inputs, carvelApps } from '../../src/inputs' |
2 | | -import { mock } from 'jest-mock-extended'; |
3 | | -import { ActionsCore } from '@jbrunton/gha-installer/lib/interfaces'; |
| 1 | +import {Inputs, carvelApps} from '../../src/inputs' |
| 2 | +import {mock} from 'jest-mock-extended' |
| 3 | +import {ActionsCore} from '@jbrunton/gha-installer/lib/interfaces' |
4 | 4 |
|
5 | 5 | describe('Inputs', () => { |
6 | | - function createInputs(platform: string, inputs: {[key: string]: string} = {}): Inputs { |
| 6 | + function createInputs( |
| 7 | + platform: string, |
| 8 | + inputs: {[key: string]: string} = {} |
| 9 | + ): Inputs { |
7 | 10 | const core = mock<ActionsCore>() |
8 | 11 | core.getInput.calledWith('only').mockReturnValue(inputs.only || '') |
9 | 12 | core.getInput.calledWith('exclude').mockReturnValue(inputs.exclude || '') |
10 | 13 | for (let appName of carvelApps) { |
11 | | - core.getInput.calledWith(appName).mockReturnValue(inputs[appName] || 'latest') |
| 14 | + core.getInput |
| 15 | + .calledWith(appName) |
| 16 | + .mockReturnValue(inputs[appName] || 'latest') |
12 | 17 | } |
13 | | - return new Inputs(core, { platform: platform }) |
| 18 | + return new Inputs(core, {platform: platform}) |
14 | 19 | } |
15 | 20 |
|
16 | 21 | describe('getAppsToDownload()', () => { |
17 | 22 | test('defaults to all', () => { |
18 | | - const inputs = createInputs("linux") |
19 | | - |
| 23 | + const inputs = createInputs('linux') |
| 24 | + |
20 | 25 | const apps = inputs.getAppsToDownload() |
21 | | - |
| 26 | + |
22 | 27 | expect(apps).toEqual([ |
23 | | - { name: "ytt", "version": "latest" }, |
24 | | - { name: "kbld", "version": "latest" }, |
25 | | - { name: "kapp", "version": "latest" }, |
26 | | - { name: "kwt", "version": "latest" }, |
27 | | - { name: "imgpkg", "version": "latest" }, |
28 | | - { name: "vendir", "version": "latest" }, |
29 | | - { name: "kctrl", "version": "latest" } |
| 28 | + {name: 'ytt', version: 'latest'}, |
| 29 | + {name: 'kbld', version: 'latest'}, |
| 30 | + {name: 'kapp', version: 'latest'}, |
| 31 | + {name: 'kwt', version: 'latest'}, |
| 32 | + {name: 'imgpkg', version: 'latest'}, |
| 33 | + {name: 'vendir', version: 'latest'}, |
| 34 | + {name: 'kctrl', version: 'latest'} |
30 | 35 | ]) |
31 | 36 | }) |
32 | 37 |
|
33 | 38 | test('excludes kwt for windows', () => { |
34 | | - const inputs = createInputs("win32") |
35 | | - |
| 39 | + const inputs = createInputs('win32') |
| 40 | + |
36 | 41 | const apps = inputs.getAppsToDownload() |
37 | | - |
| 42 | + |
38 | 43 | expect(apps).toEqual([ |
39 | | - { name: "ytt", "version": "latest" }, |
40 | | - { name: "kbld", "version": "latest" }, |
41 | | - { name: "kapp", "version": "latest" }, |
42 | | - { name: "imgpkg", "version": "latest" }, |
43 | | - { name: "vendir", "version": "latest" }, |
44 | | - { name: "kctrl", "version": "latest" }, |
| 44 | + {name: 'ytt', version: 'latest'}, |
| 45 | + {name: 'kbld', version: 'latest'}, |
| 46 | + {name: 'kapp', version: 'latest'}, |
| 47 | + {name: 'imgpkg', version: 'latest'}, |
| 48 | + {name: 'vendir', version: 'latest'}, |
| 49 | + {name: 'kctrl', version: 'latest'} |
45 | 50 | ]) |
46 | 51 | }) |
47 | 52 |
|
48 | 53 | test('allows version overrides', () => { |
49 | | - const inputs = createInputs("linux", { ytt: "0.28.0" }) |
50 | | - |
| 54 | + const inputs = createInputs('linux', {ytt: '0.28.0'}) |
| 55 | + |
51 | 56 | const apps = inputs.getAppsToDownload() |
52 | | - |
| 57 | + |
53 | 58 | expect(apps).toEqual([ |
54 | | - { name: "ytt", "version": "0.28.0" }, |
55 | | - { name: "kbld", "version": "latest" }, |
56 | | - { name: "kapp", "version": "latest" }, |
57 | | - { name: "kwt", "version": "latest" }, |
58 | | - { name: "imgpkg", "version": "latest" }, |
59 | | - { name: "vendir", "version": "latest" }, |
60 | | - { name: "kctrl", "version": "latest" } |
| 59 | + {name: 'ytt', version: '0.28.0'}, |
| 60 | + {name: 'kbld', version: 'latest'}, |
| 61 | + {name: 'kapp', version: 'latest'}, |
| 62 | + {name: 'kwt', version: 'latest'}, |
| 63 | + {name: 'imgpkg', version: 'latest'}, |
| 64 | + {name: 'vendir', version: 'latest'}, |
| 65 | + {name: 'kctrl', version: 'latest'} |
61 | 66 | ]) |
62 | 67 | }) |
63 | 68 |
|
64 | 69 | test('limits apps to "only" list', () => { |
65 | | - const inputs = createInputs("linux", { only: "ytt, kbld" }) |
66 | | - |
| 70 | + const inputs = createInputs('linux', {only: 'ytt, kbld'}) |
| 71 | + |
67 | 72 | const apps = inputs.getAppsToDownload() |
68 | | - |
| 73 | + |
69 | 74 | expect(apps).toEqual([ |
70 | | - { name: "ytt", "version": "latest" }, |
71 | | - { name: "kbld", "version": "latest" } |
| 75 | + {name: 'ytt', version: 'latest'}, |
| 76 | + {name: 'kbld', version: 'latest'} |
72 | 77 | ]) |
73 | 78 | }) |
74 | 79 |
|
75 | 80 | test('allows for app list override', () => { |
76 | | - const inputs = createInputs("linux", { only: "ytt, kbld", ytt: "0.28.0" }) |
77 | | - |
| 81 | + const inputs = createInputs('linux', {only: 'ytt, kbld', ytt: '0.28.0'}) |
| 82 | + |
78 | 83 | const apps = inputs.getAppsToDownload() |
79 | | - |
| 84 | + |
80 | 85 | expect(apps).toEqual([ |
81 | | - { name: "ytt", "version": "0.28.0" }, |
82 | | - { name: "kbld", "version": "latest" } |
| 86 | + {name: 'ytt', version: '0.28.0'}, |
| 87 | + {name: 'kbld', version: 'latest'} |
83 | 88 | ]) |
84 | 89 | }) |
85 | 90 |
|
86 | 91 | test('excludes apps from "exclude" list', () => { |
87 | | - const inputs = createInputs("linux", { exclude: "ytt, kwt", kapp: "0.34.0" }) |
88 | | - |
| 92 | + const inputs = createInputs('linux', { |
| 93 | + exclude: 'ytt, kwt', |
| 94 | + kapp: '0.34.0' |
| 95 | + }) |
| 96 | + |
89 | 97 | const apps = inputs.getAppsToDownload() |
90 | | - |
| 98 | + |
91 | 99 | expect(apps).toEqual([ |
92 | | - { name: "kbld", "version": "latest" }, |
93 | | - { name: "kapp", "version": "0.34.0" }, |
94 | | - { name: "imgpkg", "version": "latest" }, |
95 | | - { name: "vendir", "version": "latest" }, |
96 | | - { name: "kctrl", "version": "latest" } |
| 100 | + {name: 'kbld', version: 'latest'}, |
| 101 | + {name: 'kapp', version: '0.34.0'}, |
| 102 | + {name: 'imgpkg', version: 'latest'}, |
| 103 | + {name: 'vendir', version: 'latest'}, |
| 104 | + {name: 'kctrl', version: 'latest'} |
97 | 105 | ]) |
98 | 106 | }) |
99 | 107 |
|
100 | 108 | test('validates app names', () => { |
101 | | - const inputs = createInputs("linux", { only: "ytt, kbl" }) |
102 | | - expect(() => inputs.getAppsToDownload()).toThrowError("Unknown app: kbl") |
103 | | - }) |
| 109 | + const inputs = createInputs('linux', {only: 'ytt, kbl'}) |
| 110 | + expect(() => inputs.getAppsToDownload()).toThrowError('Unknown app: kbl') |
| 111 | + }) |
104 | 112 | }) |
105 | 113 | }) |
0 commit comments