From 91613b787e072a9363a705373a949c6494ae1169 Mon Sep 17 00:00:00 2001 From: Abdelrahman Khattab Date: Thu, 18 Dec 2025 06:58:15 +0100 Subject: [PATCH 1/2] Fix incorrect Plaid card feed icon for Banks --- src/libs/CardUtils.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libs/CardUtils.ts b/src/libs/CardUtils.ts index 468910e6b492..aa30873b1b40 100644 --- a/src/libs/CardUtils.ts +++ b/src/libs/CardUtils.ts @@ -491,7 +491,8 @@ function getPlaidInstitutionIconUrl(feedName?: string) { } function getPlaidInstitutionId(feedName?: string) { - const feed = feedName?.split('.'); + const feedNameWithoutDomainID = getCompanyCardFeed(feedName ?? ''); + const feed = feedNameWithoutDomainID?.split('.'); if (!feed || feed?.at(0) !== CONST.BANK_ACCOUNT.SETUP_TYPE.PLAID) { return ''; } From 026d301fd10f858f119e1ac2b7cdbcc2a1413d3a Mon Sep 17 00:00:00 2001 From: Abdelrahman Khattab Date: Thu, 18 Dec 2025 12:20:25 +0100 Subject: [PATCH 2/2] adding test cases --- tests/unit/CardUtilsTest.ts | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/unit/CardUtilsTest.ts b/tests/unit/CardUtilsTest.ts index e4677c98dbb3..2a42ca3f1226 100644 --- a/tests/unit/CardUtilsTest.ts +++ b/tests/unit/CardUtilsTest.ts @@ -27,6 +27,8 @@ import { getFilteredCardList, getMonthFromExpirationDateString, getOriginalCompanyFeeds, + getPlaidInstitutionIconUrl, + getPlaidInstitutionId, getSelectedFeed, getYearFromExpirationDateString, hasIssuedExpensifyCard, @@ -1340,4 +1342,38 @@ describe('CardUtils', () => { expect(combinedKey).toBe(`${feedName}${CONST.COMPANY_CARD.FEED_KEY_SEPARATOR}${domainID}`); }); }); + + describe('getPlaidInstitutionId', () => { + it('should return institution ID from plaid feed name without domain ID', () => { + const feedName = 'plaid.ins_123456'; + const institutionId = getPlaidInstitutionId(feedName); + expect(institutionId).toBe('ins_123456'); + }); + + it('should return institution ID from plaid feed name with domain ID', () => { + const feedName = 'plaid.ins_129663#12345'; + const institutionId = getPlaidInstitutionId(feedName); + expect(institutionId).toBe('ins_129663'); + }); + + it('should return empty string for non-plaid feed', () => { + const feedName = CONST.COMPANY_CARD.FEED_BANK_NAME.VISA; + const institutionId = getPlaidInstitutionId(feedName); + expect(institutionId).toBe(''); + }); + }); + + describe('getPlaidInstitutionIconUrl', () => { + it('should return correct icon URL for plaid feed without domain ID', () => { + const feedName = 'plaid.ins_123456'; + const iconUrl = getPlaidInstitutionIconUrl(feedName); + expect(iconUrl).toBe(`${CONST.COMPANY_CARD_PLAID}ins_123456.png`); + }); + + it('should return correct icon URL for plaid feed with domain ID', () => { + const feedName = 'plaid.ins_129663#12345'; + const iconUrl = getPlaidInstitutionIconUrl(feedName); + expect(iconUrl).toBe(`${CONST.COMPANY_CARD_PLAID}ins_129663.png`); + }); + }); });