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 ''; } 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`); + }); + }); });