Skip to content

Commit

Permalink
test: Add tests for working-directory alias functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
n0mer committed Feb 5, 2025
1 parent fb0e70c commit 3b88460
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 1 deletion.
72 changes: 72 additions & 0 deletions src/__tests__/config.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -199,4 +199,76 @@ describe('config.ts', () => {
/Only one of 'pulumi-version' or 'pulumi-version-file' should be provided, got both/,
);
});

it('should use working-directory when work-dir is not provided', async () => {
jest.mock('@actions/core', () => ({
getInput: jest.fn((name: string) => {
switch (name) {
case 'work-dir':
return '';
case 'working-directory':
return '/custom/path';
default:
return defaultConfig[name];
}
}),
getBooleanInput: jest.fn((name: string) => {
return defaultConfig[name];
}),
getMultilineInput: jest.fn((name: string) => {
return defaultConfig[name];
}),
}));
const { makeConfig } = require('../config');
const c = makeConfig();
expect(c.workDir).toBe('/custom/path');
});

it('should use work-dir when working-directory is not provided', async () => {
jest.mock('@actions/core', () => ({
getInput: jest.fn((name: string) => {
switch (name) {
case 'work-dir':
return '/custom/path';
case 'working-directory':
return '';
default:
return defaultConfig[name];
}
}),
getBooleanInput: jest.fn((name: string) => {
return defaultConfig[name];
}),
getMultilineInput: jest.fn((name: string) => {
return defaultConfig[name];
}),
}));
const { makeConfig } = require('../config');
const c = makeConfig();
expect(c.workDir).toBe('/custom/path');
});

it('should prefer work-dir over working-directory when both are provided', async () => {
jest.mock('@actions/core', () => ({
getInput: jest.fn((name: string) => {
switch (name) {
case 'work-dir':
return '/work/dir/path';
case 'working-directory':
return '/working/directory/path';
default:
return defaultConfig[name];
}
}),
getBooleanInput: jest.fn((name: string) => {
return defaultConfig[name];
}),
getMultilineInput: jest.fn((name: string) => {
return defaultConfig[name];
}),
}));
const { makeConfig } = require('../config');
const c = makeConfig();
expect(c.workDir).toBe('/work/dir/path');
});
});
2 changes: 1 addition & 1 deletion src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ export function makeConfig() {
}),
stackName: getInput('stack-name', { required: true }),
pulumiVersion: pulumiVersion ?? '^3',
workDir: getInput('working-directory') || getInput('work-dir', { required: true }),
workDir: getInput('work-dir') || getInput('working-directory', { required: true }),
secretsProvider: getInput('secrets-provider'),
cloudUrl: getInput('cloud-url'),
githubToken: getInput('github-token'),
Expand Down

0 comments on commit 3b88460

Please sign in to comment.