diff --git a/.changeset/new-sheep-arrive.md b/.changeset/new-sheep-arrive.md
new file mode 100644
index 0000000000..00e759a187
--- /dev/null
+++ b/.changeset/new-sheep-arrive.md
@@ -0,0 +1,5 @@
+---
+'@backstage/core-components': patch
+---
+
+Modified the `Select` component to take in a `data-testid` parameter ensuring backwards compatibility with default value corresponding to previously hardcoded `data-testid` of "select".
diff --git a/packages/core-components/src/components/Select/Select.test.tsx b/packages/core-components/src/components/Select/Select.test.tsx
index e5651ca47f..b83ac68d5b 100644
--- a/packages/core-components/src/components/Select/Select.test.tsx
+++ b/packages/core-components/src/components/Select/Select.test.tsx
@@ -85,4 +85,12 @@ describe('', () => {
expect(getByTestId('select').textContent).toBe('All results');
});
+
+ it('should function correctly when a custom data-testid is provided', async () => {
+ const { getByTestId } = render(
+ ,
+ );
+ const input = getByTestId('custom-select');
+ expect(input.textContent).toBe('All results');
+ });
});
diff --git a/packages/core-components/src/components/Select/Select.tsx b/packages/core-components/src/components/Select/Select.tsx
index 00fb4f21b4..6b5174820b 100644
--- a/packages/core-components/src/components/Select/Select.tsx
+++ b/packages/core-components/src/components/Select/Select.tsx
@@ -136,6 +136,7 @@ export type SelectProps = {
native?: boolean;
disabled?: boolean;
margin?: 'dense' | 'none';
+ 'data-testid'?: string;
};
/** @public */
@@ -151,6 +152,7 @@ export function SelectComponent(props: SelectProps) {
native = false,
disabled = false,
margin,
+ 'data-testid': dataTestId = 'select',
} = props;
const classes = useStyles();
const [value, setValue] = useState(
@@ -203,7 +205,7 @@ export function SelectComponent(props: SelectProps) {
value={value}
native={native}
disabled={disabled}
- data-testid="select"
+ data-testid={dataTestId}
displayEmpty
multiple={multiple}
margin={margin}
diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.test.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.test.tsx
index 0c7ca75990..a070e0c6e4 100644
--- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.test.tsx
+++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPickerHost.test.tsx
@@ -64,7 +64,7 @@ describe('RepoUrlPickerHostField', () => {
,
);
- fireEvent.mouseDown(getByTestId('select'));
+ fireEvent.mouseDown(getByTestId('host-select'));
expect(getByText('gitlab.com')).toBeInTheDocument();
const listbox = within(getByRole('combobox'));
@@ -93,7 +93,7 @@ describe('RepoUrlPickerHostField', () => {
,
);
- fireEvent.mouseDown(getByTestId('select'));
+ fireEvent.mouseDown(getByTestId('host-select'));
expect(getByText('gitlab.com')).toBeInTheDocument();
const listbox = within(getByRole('combobox'));