diff --git a/packages/autocomplete-core/src/__tests__/getInputProps.test.ts b/packages/autocomplete-core/src/__tests__/getInputProps.test.ts index acc64c65b..6174b299e 100644 --- a/packages/autocomplete-core/src/__tests__/getInputProps.test.ts +++ b/packages/autocomplete-core/src/__tests__/getInputProps.test.ts @@ -553,7 +553,30 @@ describe('getInputProps', () => { }); }); - test.todo('catches errors and sets status to error'); + /* eslint-disable-next-line jest/no-done-callback */ + test('lets user handle the errors', (done) => { + const getSources = jest.fn((..._args: any[]) => { + return [ + createSource({ + getItems() { + return new Promise((resolve, reject) => { + reject(new Error('Fetch error')); + }).catch((err) => { + expect(err).toEqual(expect.any(Error)); + done(); + return []; + }); + }, + }), + ]; + }); + + const { inputElement } = createPlayground(createAutocomplete, { + getSources, + }); + + userEvent.type(inputElement, 'a'); + }); test('clears stalled timeout', async () => { const environment = { diff --git a/packages/autocomplete-core/src/onInput.ts b/packages/autocomplete-core/src/onInput.ts index d53339177..db4194beb 100644 --- a/packages/autocomplete-core/src/onInput.ts +++ b/packages/autocomplete-core/src/onInput.ts @@ -141,11 +141,6 @@ export function onInput({ }); } }) - .catch((error) => { - setStatus('error'); - - throw error; - }) .finally(() => { if (lastStalledId) { props.environment.clearTimeout(lastStalledId);