diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.test.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.test.tsx index a070e0c6e4..0f85b6d037 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.test.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.test.tsx @@ -100,4 +100,31 @@ describe('RepoUrlPickerHostField', () => { expect(listbox.getAllByRole('option')).toHaveLength(2); }); + + it('disables the host select when isDisabled is true', async () => { + const mockOnChange = jest.fn(); + const mockScaffolderApi = { + getIntegrationsList: jest.fn().mockResolvedValue({ + integrations: [ + { host: 'github.com', title: 'github.com', type: 'github' }, + { host: 'gitlab.com', title: 'gitlab.com', type: 'gitlab' }, + ], + }), + }; + + const { getByTestId } = await renderInTestApp( + + + , + ); + + const selectElement = getByTestId('host-select').querySelector('select'); + + expect(selectElement).toBeDisabled(); + }); }); diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.tsx index 90f8eaf449..787aa68987 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.tsx @@ -28,8 +28,9 @@ export const RepoUrlPickerHost = (props: { hosts?: string[]; onChange: (host: string) => void; rawErrors: string[]; + isDisabled?: boolean; }) => { - const { host, hosts, onChange, rawErrors } = props; + const { host, hosts, onChange, rawErrors, isDisabled } = props; const { t } = useTranslationRef(scaffolderTranslationRef); const scaffolderApi = useApi(scaffolderApiRef); @@ -75,7 +76,7 @@ export const RepoUrlPickerHost = (props: { >