[Payment due @suneox] Key supported ECUK countries by currency, populate from onyx, alphabetize correctly#96447
[Payment due @suneox] Key supported ECUK countries by currency, populate from onyx, alphabetize correctly#96447chuckdries wants to merge 5 commits into
Conversation
alphabetize correctly
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b5297c0473
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
(i.e. remain locked to GB in reimbursement onboarding)
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
| }, | ||
|
|
||
| EXPENSIFY_UK_EU_SUPPORTED_COUNTRIES: ['BE', 'DK', 'ES', 'FI', 'IE', 'LT', 'LU', 'LV', 'NL', 'PL', 'SE', 'GB', 'GI'], | ||
| // Temporary hard-coded fallback for the Expensify Card supported countries keyed by settlement currency |
There was a problem hiding this comment.
NAB
| // Temporary hard-coded fallback for the Expensify Card supported countries keyed by settlement currency | |
| // Hard-coded fallback for the Expensify Card supported countries keyed by settlement currency |
|
I'm starting the review on this one |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppCleanShot.2026-07-19.at.10.45.13.1.mp4Android: mWeb ChromeCleanShot.2026-07-19.at.10.45.13.mp4iOS: HybridAppCleanShot.2026-07-19.at.11.04.32.2.mp4iOS: mWeb SafariCleanShot.2026-07-19.at.11.09.07.4.mp4 |
|
|
||
| export default function getAvailableEuCountries(): Record<string, string> { | ||
| return Object.fromEntries(europeanCountries.filter(([code]) => ukEuSupportedCountrySet.has(code))); | ||
| export default function getAvailableEuCountries( |
There was a problem hiding this comment.
NAB: getAvailableEuCountries now returns GB/GI for GBP, so the "Eu" in the name is slightly misleading. We can rename it to something likegetAvailableCardCountries/getCardSupportedCountryOptions in a follow-up.
suneox
left a comment
There was a problem hiding this comment.
Overall LGTM. Just a remaining minor naming thing, not a blocker.
|
@NicolasBonet Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
🎯 @suneox, thanks for reviewing and testing this PR! 🎉 A payment issue will be created for your review once this PR is deployed to production. If payment is not needed (e.g., regression PR review fix etc), react with 👎 to this comment to prevent the payment issue from being created. |















Explanation of Change
EXPENSIFY_UK_EU_SUPPORTED_COUNTRIESwith a currency-keyed map. It now lives asCONST.EXPENSIFY_CARD_SUPPORTED_COUNTRIES_BY_CURRENCY, a temporary fallback used until the backend delivers the list via onyx updateONYXKEYS.CARD_SUPPORTED_COUNTRIES.getAvailableEuCountriesandgetEligibleBankAccountsForUkEuCardread the subset for the workspace's settlement currency from this Onyx key, falling back to the constant when it's absent. These drive the country picker in the VBBA onboarding flow and the eligible-bank-account picker (when an eligible VBBA already exists).Fixed Issues
$ https://github.com/Expensify/Expensify/issues/661259
PROPOSAL:
Tests
EUR lists supported countries in alphabetical order
GBP lists supported countries in alphabetical order
Bank account picker filters by supported country
clitools.sh generator:corpayto create two Withdrawal, Business, Validated EUR bank accounts: one inES, one inSIOffline tests
None
QA Steps
EUR lists supported countries in alphabetical order
GBP lists supported countries in alphabetical order
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)Avatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari