From 6ccc72e59268d8e54b77647f31d08d42d1b43c03 Mon Sep 17 00:00:00 2001 From: reneshen0328 Date: Thu, 5 Mar 2026 15:32:26 -0800 Subject: [PATCH] fix(content-sharing): getContact error handler --- .../content-sharing/__tests__/SharingModal.test.js | 2 +- .../content-sharing/__tests__/useContacts.test.js | 2 +- .../__tests__/useContactsByEmail.test.js | 7 +++---- src/elements/content-sharing/hooks/useContacts.js | 10 ++++++++-- .../content-sharing/hooks/useContactsByEmail.js | 10 ++++++++-- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/elements/content-sharing/__tests__/SharingModal.test.js b/src/elements/content-sharing/__tests__/SharingModal.test.js index 8a2b10e8bc..6603caf287 100644 --- a/src/elements/content-sharing/__tests__/SharingModal.test.js +++ b/src/elements/content-sharing/__tests__/SharingModal.test.js @@ -1078,7 +1078,7 @@ describe('elements/content-sharing/SharingModal', () => { expect(getUsersInEnterprise).toHaveBeenCalledWith(MOCK_ITEM_ID, expect.anything(), expect.anything(), { filter_term: MOCK_EMAIL, }); - expect(response).resolves.toBeFalsy(); + expect(response).resolves.toEqual({}); expect(wrapper.exists(Notification)).toBeFalsy(); }); }); diff --git a/src/elements/content-sharing/__tests__/useContacts.test.js b/src/elements/content-sharing/__tests__/useContacts.test.js index 6a5790dde4..66b2aff04c 100644 --- a/src/elements/content-sharing/__tests__/useContacts.test.js +++ b/src/elements/content-sharing/__tests__/useContacts.test.js @@ -271,7 +271,7 @@ describe('elements/content-sharing/hooks/useContacts', () => { { fields: 'name,permissions', filter_term: MOCK_FILTER }, ); expect(handleError).toHaveBeenCalled(); - expect(contacts).resolves.toBeFalsy(); + expect(contacts).resolves.toEqual([]); }); }); }); diff --git a/src/elements/content-sharing/__tests__/useContactsByEmail.test.js b/src/elements/content-sharing/__tests__/useContactsByEmail.test.js index 10c5c5ff35..724a2a72e1 100644 --- a/src/elements/content-sharing/__tests__/useContactsByEmail.test.js +++ b/src/elements/content-sharing/__tests__/useContactsByEmail.test.js @@ -224,11 +224,9 @@ describe('elements/content-sharing/hooks/useContactsByEmail', () => { }), ); - result.current({ emails: [MOCK_EMAIL] }); - - // Wait a short time to ensure handleError is called + let contacts; await act(async () => { - await new Promise(resolve => setTimeout(resolve, 100)); + contacts = await result.current({ emails: [MOCK_EMAIL] }); }); expect(getUsersInEnterprise).toHaveBeenCalledWith( @@ -238,6 +236,7 @@ describe('elements/content-sharing/hooks/useContactsByEmail', () => { { filter_term: MOCK_EMAIL }, ); expect(handleError).toHaveBeenCalled(); + expect(contacts).toEqual({}); }); }); }); diff --git a/src/elements/content-sharing/hooks/useContacts.js b/src/elements/content-sharing/hooks/useContacts.js index b6436f88b4..049aa5346c 100644 --- a/src/elements/content-sharing/hooks/useContacts.js +++ b/src/elements/content-sharing/hooks/useContacts.js @@ -51,7 +51,10 @@ function useContacts(api: API, itemID: string, options: ContentSharingHooksOptio api.getMarkerBasedUsersAPI(false).getUsersInEnterprise( itemID, (response: UserCollection) => resolveAPICall(resolve, response, transformUsers), - handleError, + error => { + handleError(error); + resolve([]); + }, { filter_term: filterTerm }, ); }); @@ -59,7 +62,10 @@ function useContacts(api: API, itemID: string, options: ContentSharingHooksOptio api.getMarkerBasedGroupsAPI(false).getGroupsInEnterprise( itemID, (response: GroupCollection) => resolveAPICall(resolve, response, transformGroups), - handleError, + error => { + handleError(error); + resolve([]); + }, { fields: [FIELD_NAME, FIELD_PERMISSIONS].toString(), filter_term: filterTerm, diff --git a/src/elements/content-sharing/hooks/useContactsByEmail.js b/src/elements/content-sharing/hooks/useContactsByEmail.js index 90eacc08f9..6b2021f9c9 100644 --- a/src/elements/content-sharing/hooks/useContactsByEmail.js +++ b/src/elements/content-sharing/hooks/useContactsByEmail.js @@ -55,7 +55,10 @@ function useContactsByEmail( api.getMarkerBasedUsersAPI(false).getUsersInEnterprise( itemID, response => resolveAPICall(resolve, response, transformUsers), - handleError, + error => { + handleError(error); + resolve({}); + }, { filter_term: email }, ); }); @@ -74,7 +77,10 @@ function useContactsByEmail( api.getMarkerBasedUsersAPI(false).getUsersInEnterprise( itemID, (response: UserCollection) => resolveAPICall(resolve, response, transformUsers), - handleError, + error => { + handleError(error); + resolve({}); + }, { filter_term: parsedFilterTerm }, ); });