From 7647ce7233be75ac75396bcf44d270d94636dcb7 Mon Sep 17 00:00:00 2001 From: asheen1234 Date: Tue, 12 May 2026 12:08:58 -0400 Subject: [PATCH] test: add missing test for gitlab autocomplete Signed-off-by: asheen1234 --- .../RepoOwnerPicker/RepoOwnerPicker.test.tsx | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/plugins/scaffolder/src/components/fields/RepoOwnerPicker/RepoOwnerPicker.test.tsx b/plugins/scaffolder/src/components/fields/RepoOwnerPicker/RepoOwnerPicker.test.tsx index 12cdd34359..d7f8d2f71d 100644 --- a/plugins/scaffolder/src/components/fields/RepoOwnerPicker/RepoOwnerPicker.test.tsx +++ b/plugins/scaffolder/src/components/fields/RepoOwnerPicker/RepoOwnerPicker.test.tsx @@ -29,6 +29,7 @@ import { scaffolderApiRef, useTemplateSecrets, ScaffolderRJSFField, + ScaffolderApi, } from '@backstage/plugin-scaffolder-react'; import { act, fireEvent, screen } from '@testing-library/react'; import { RepoOwnerPicker } from './RepoOwnerPicker'; @@ -462,5 +463,51 @@ describe('RepoOwnerPicker', () => { expect(getByText('abc123')).toBeInTheDocument(); }); + + it('should route to GitLabRepoOwnerPicker and call autocomplete with gitlab provider and groups resource', async () => { + const secretsKey = 'testKey'; + const mockScaffolderApi: Partial = { + autocomplete: jest.fn().mockResolvedValue({ results: [] }), + }; + + await renderInTestApp( + + +
, + }} + /> + + , + ); + + await act(async () => { + // wait for both the RepoOwnerPicker and GitLabRepoOwnerPicker debounces + await new Promise(resolve => setTimeout(resolve, 600)); + }); + + expect(mockScaffolderApi.autocomplete).toHaveBeenCalledWith({ + token: 'abc123', + resource: 'groups', + provider: 'gitlab', + context: { host: 'gitlab.com' }, + }); + }); }); });