fix: set lowercase when passing to handle fetch, update unit test

Signed-off-by: coltMcKissick <colt.mckissick@gmail.com>
This commit is contained in:
coltMcKissick
2025-11-14 15:01:34 -05:00
parent 6d39141b50
commit 00fa8dee66
2 changed files with 46 additions and 4 deletions
@@ -365,6 +365,37 @@ describe('<EntityOwnerPicker mode="all" />', () => {
it('calls fetch with lowercased input and displays results', async () => {
const updateFilters = jest.fn();
const someOwnerEntities: Entity[] = [
{
apiVersion: '1',
kind: 'Group',
metadata: {
name: 'some-owner',
},
},
{
apiVersion: '1',
kind: 'Group',
metadata: {
name: 'some-owner-2',
},
spec: {
profile: {
displayName: 'Some Owner 2',
},
},
},
];
mockCatalogApi.queryEntities.mockImplementation(async _request => {
const totalItems = 2;
return {
items: someOwnerEntities,
pageInfo: {
nextCursor: '',
},
totalItems,
};
});
await renderInTestApp(
<ApiProvider apis={mockApis}>
<MockEntityListContextProvider
@@ -382,13 +413,20 @@ describe('<EntityOwnerPicker mode="all" />', () => {
owners: undefined,
});
fireEvent.click(screen.getByTestId('owner-picker-expand'));
const input = screen.getByRole('textbox', { name: 'Owner' });
// fireEvent.click(screen.getByTestId('owner-picker-expand'));
const input = screen.getByRole('textbox');
fireEvent.change(input, { target: { value: 'Some-Owner' } });
await waitFor(() =>
expect(screen.getByText('some-owner')).toBeInTheDocument(),
);
expect(mockCatalogApi.queryEntities).toHaveBeenLastCalledWith(
expect.objectContaining({
fullTextFilter: expect.objectContaining({
term: 'some-owner',
}),
}),
);
fireEvent.click(screen.getByText('some-owner'));
expect(updateFilters).toHaveBeenLastCalledWith({
@@ -146,7 +146,11 @@ export const EntityOwnerPicker = (props?: EntityOwnerPickerProps) => {
mode,
initialSelectedOwnersRefs: selectedOwners,
});
useDebouncedEffect(() => handleFetch({ text }), [text, handleFetch], 250);
useDebouncedEffect(
() => handleFetch({ text: text.toLocaleLowerCase('en-US') }),
[text, handleFetch],
250,
);
const availableOwners = value?.items || [];
@@ -221,7 +225,7 @@ export const EntityOwnerPicker = (props?: EntityOwnerPickerProps) => {
}}
name="owner-picker"
onInputChange={(_e, inputValue) => {
setText(inputValue.toLocaleLowerCase('en-US'));
setText(inputValue);
}}
ListboxProps={{
onScroll: (e: MouseEvent) => {