diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/AzureRepoPicker.test.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/AzureRepoPicker.test.tsx index 904fb615eb..3db86a7512 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/AzureRepoPicker.test.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/AzureRepoPicker.test.tsx @@ -30,6 +30,23 @@ describe('AzureRepoPicker', () => { expect(allInputs).toHaveLength(2); }); + it('disables input fields when isDisabled is true', async () => { + const { getAllByRole } = await renderInTestApp( + , + ); + + const allInputs = getAllByRole('textbox'); + + allInputs.forEach(input => { + expect(input).toBeDisabled(); + }); + }); + describe('org field', () => { it('calls onChange when the organisation changes', async () => { const onChange = jest.fn(); diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/AzureRepoPicker.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/AzureRepoPicker.tsx index 59e666482a..7f886db0bc 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/AzureRepoPicker.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/AzureRepoPicker.tsx @@ -35,6 +35,7 @@ export const AzureRepoPicker = ( rawErrors, state, onChange, + isDisabled, } = props; const { t } = useTranslationRef(scaffolderTranslationRef); @@ -63,7 +64,7 @@ export const AzureRepoPicker = ( onChange={s => onChange({ organization: String(Array.isArray(s) ? s[0] : s) }) } - disabled={allowedOrganizations.length === 1} + disabled={isDisabled || allowedOrganizations.length === 1} selected={organization} items={organizationItems} /> @@ -77,6 +78,7 @@ export const AzureRepoPicker = ( label={t('fields.azureRepoPicker.organization.title')} onChange={e => onChange({ organization: e.target.value })} helperText={t('fields.azureRepoPicker.organization.description')} + disabled={isDisabled} value={organization} /> )} @@ -94,7 +96,7 @@ export const AzureRepoPicker = ( onChange={s => onChange({ project: String(Array.isArray(s) ? s[0] : s) }) } - disabled={allowedProject.length === 1} + disabled={isDisabled || allowedProject.length === 1} selected={project} items={projectItems} /> @@ -108,6 +110,7 @@ export const AzureRepoPicker = ( label={t('fields.azureRepoPicker.project.title')} onChange={e => onChange({ project: e.target.value })} value={project} + disabled={isDisabled} helperText={t('fields.azureRepoPicker.project.description')} /> )}