Skip to content

Commit 3b88460

Browse files
committed
test: Add tests for working-directory alias functionality
1 parent fb0e70c commit 3b88460

2 files changed

Lines changed: 73 additions & 1 deletion

File tree

src/__tests__/config.test.ts

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,4 +199,76 @@ describe('config.ts', () => {
199199
/Only one of 'pulumi-version' or 'pulumi-version-file' should be provided, got both/,
200200
);
201201
});
202+
203+
it('should use working-directory when work-dir is not provided', async () => {
204+
jest.mock('@actions/core', () => ({
205+
getInput: jest.fn((name: string) => {
206+
switch (name) {
207+
case 'work-dir':
208+
return '';
209+
case 'working-directory':
210+
return '/custom/path';
211+
default:
212+
return defaultConfig[name];
213+
}
214+
}),
215+
getBooleanInput: jest.fn((name: string) => {
216+
return defaultConfig[name];
217+
}),
218+
getMultilineInput: jest.fn((name: string) => {
219+
return defaultConfig[name];
220+
}),
221+
}));
222+
const { makeConfig } = require('../config');
223+
const c = makeConfig();
224+
expect(c.workDir).toBe('/custom/path');
225+
});
226+
227+
it('should use work-dir when working-directory is not provided', async () => {
228+
jest.mock('@actions/core', () => ({
229+
getInput: jest.fn((name: string) => {
230+
switch (name) {
231+
case 'work-dir':
232+
return '/custom/path';
233+
case 'working-directory':
234+
return '';
235+
default:
236+
return defaultConfig[name];
237+
}
238+
}),
239+
getBooleanInput: jest.fn((name: string) => {
240+
return defaultConfig[name];
241+
}),
242+
getMultilineInput: jest.fn((name: string) => {
243+
return defaultConfig[name];
244+
}),
245+
}));
246+
const { makeConfig } = require('../config');
247+
const c = makeConfig();
248+
expect(c.workDir).toBe('/custom/path');
249+
});
250+
251+
it('should prefer work-dir over working-directory when both are provided', async () => {
252+
jest.mock('@actions/core', () => ({
253+
getInput: jest.fn((name: string) => {
254+
switch (name) {
255+
case 'work-dir':
256+
return '/work/dir/path';
257+
case 'working-directory':
258+
return '/working/directory/path';
259+
default:
260+
return defaultConfig[name];
261+
}
262+
}),
263+
getBooleanInput: jest.fn((name: string) => {
264+
return defaultConfig[name];
265+
}),
266+
getMultilineInput: jest.fn((name: string) => {
267+
return defaultConfig[name];
268+
}),
269+
}));
270+
const { makeConfig } = require('../config');
271+
const c = makeConfig();
272+
expect(c.workDir).toBe('/work/dir/path');
273+
});
202274
});

src/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export function makeConfig() {
7777
}),
7878
stackName: getInput('stack-name', { required: true }),
7979
pulumiVersion: pulumiVersion ?? '^3',
80-
workDir: getInput('working-directory') || getInput('work-dir', { required: true }),
80+
workDir: getInput('work-dir') || getInput('working-directory', { required: true }),
8181
secretsProvider: getInput('secrets-provider'),
8282
cloudUrl: getInput('cloud-url'),
8383
githubToken: getInput('github-token'),

0 commit comments

Comments
 (0)