diff --git a/__test__/git-auth-helper.test.ts b/__test__/git-auth-helper.test.ts index aae9e49..c5a72d7 100644 --- a/__test__/git-auth-helper.test.ts +++ b/__test__/git-auth-helper.test.ts @@ -825,7 +825,6 @@ async function setup(testName: string): Promise { workflowOrganizationId: 123456, setSafeDirectory: true, githubServerUrl: githubServerUrl, - workingDirectory: undefined } } diff --git a/__test__/input-helper.test.ts b/__test__/input-helper.test.ts index 9514cb4..5c79f7a 100644 --- a/__test__/input-helper.test.ts +++ b/__test__/input-helper.test.ts @@ -144,4 +144,25 @@ describe('input-helper tests', () => { const settings: IGitSourceSettings = await inputHelper.getInputs() expect(settings.workflowOrganizationId).toBe(123456) }) + + it('sets a different working directory', async() => { + inputs['working-directory'] = '/home/user/test' + inputs['path'] = 'path/to/repo' + const settings: IGitSourceSettings = await inputHelper.getInputs() + expect(settings.repositoryPath).toBe(path.resolve('/home/user/test/path/to/repo')) + }) + + it('sets a working directory on root', async() => { + inputs['working-directory'] = '/' + inputs['path'] = 'path/to/repo' + const settings: IGitSourceSettings = await inputHelper.getInputs() + expect(settings.repositoryPath).toBe(path.resolve('/path/to/repo')) + }) + + it('sets a working directory on root and repository path is set to empty', async() => { + inputs['working-directory'] = '/' + inputs['path'] = '' + const settings: IGitSourceSettings = await inputHelper.getInputs() + expect(settings.repositoryPath).toBe(path.resolve('/')) + }) }) diff --git a/src/input-helper.ts b/src/input-helper.ts index 7fa47c3..2e1d2d4 100644 --- a/src/input-helper.ts +++ b/src/input-helper.ts @@ -43,11 +43,11 @@ export async function getInputs(): Promise { ) if ( !(result.repositoryPath + path.sep).startsWith( - workingDirectory + path.sep + workingDirectory ) ) { throw new Error( - `Repository path '${result.repositoryPath}' is not under '${workingDirectory}'` + `Repository path '${result.repositoryPath + path.sep}' is not under '${workingDirectory}'` ) }