diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.test.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.test.tsx index f00e286418..54fb0e0e3f 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.test.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.test.tsx @@ -20,6 +20,23 @@ import { fireEvent } from '@testing-library/react'; import { renderInTestApp } from '@backstage/test-utils'; describe('GerritRepoPicker', () => { + it('disables input fields when isDisabled is true', async () => { + const { getAllByRole } = await renderInTestApp( + , + ); + + const allInputs = getAllByRole('textbox'); + + allInputs.forEach(input => { + expect(input).toBeDisabled(); + }); + }); + describe('owner input field', () => { it('calls onChange when the owner input changes', async () => { const onChange = jest.fn(); diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.tsx index bcc665976f..20d601bf45 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.tsx @@ -21,7 +21,7 @@ import { useTranslationRef } from '@backstage/core-plugin-api/alpha'; import { scaffolderTranslationRef } from '../../../translation'; export const GerritRepoPicker = (props: BaseRepoUrlPickerProps) => { - const { onChange, rawErrors, state } = props; + const { onChange, rawErrors, state, isDisabled } = props; const { t } = useTranslationRef(scaffolderTranslationRef); const { workspace, owner } = state; return ( @@ -32,6 +32,7 @@ export const GerritRepoPicker = (props: BaseRepoUrlPickerProps) => { label={t('fields.gerritRepoPicker.owner.title')} onChange={e => onChange({ owner: e.target.value })} helperText={t('fields.gerritRepoPicker.owner.description')} + disabled={isDisabled} value={owner} /> @@ -44,6 +45,7 @@ export const GerritRepoPicker = (props: BaseRepoUrlPickerProps) => { id="parentInput" label={t('fields.gerritRepoPicker.parent.title')} onChange={e => onChange({ workspace: e.target.value })} + disabled={isDisabled} value={workspace} helperText={t('fields.gerritRepoPicker.parent.description')} />