-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[No QA] Update wallet transfer for Onyx::handleException #11927
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. How do we test it?
Also we need to properly clear out error
and errors
here when we send a new request.
Maybe we could test it manually? Create a user who's not in the expensify wallet beta and then attempt to send money using their account. We could check the onyx data and also make sure the same error is being displayed on the UI. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good. Please add error
and errors
to the walletTransferPropTypes. error
should have been there to begin with.
App/src/pages/settings/Payments/walletTransferPropTypes.js
Lines 4 to 16 in 8e07c62
/** Wallet balance transfer props */ | |
const walletTransferPropTypes = PropTypes.shape({ | |
/** Selected accountID for transfer */ | |
selectedAccountID: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), | |
/** Type to filter the payment Method list */ | |
filterPaymentMethodType: PropTypes.oneOf([CONST.PAYMENT_METHODS.DEBIT_CARD, CONST.PAYMENT_METHODS.BANK_ACCOUNT, '']), | |
/** Whether the success screen is shown to user. */ | |
shouldShowSuccess: PropTypes.bool, | |
}); | |
export default walletTransferPropTypes; |
Also please add test steps and fill out the checklist.
Oh I just saw your comment about testing. Let's make sure we run this flow so that it will trigger an error, and verify that we see the error displayed properly. We can test that it works without the Web-PR, and with the Web-PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a good start on the testing steps, but I still find them a bit incomplete and hard to follow. How about something like this?
- Sign into NewDot with any account A
- Run
../script/clitools.sh generator:bankaccount
- Enter an email for an account B. Choose Withdrawal, Validated yes, Upgraded no, Use Stripe Test Acct Information yes.
- Sign in on another device with account B
- Send some money to account A
However when I go to send some money it makes me add a bank account again which doesn't make any sense to me. How did you get a wallet balance in order to be able to transfer it?
Also please fill out the PR Author Checklist in the issue description and then I will be able to fill out the reviewer checklist.
I'm taking this PR over for Srikar
@@ -256,6 +256,7 @@ function transferWalletBalance(paymentMethod) { | |||
value: { | |||
loading: true, | |||
error: null, | |||
errors: null, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewing a bit late here hehe, why are we having error
and errors
? Shouldn't we have just one property for error (or errors)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will deploy support both formats on App first. After the Web-PR is live and only sending data under the errors
key, we can get rid of the error
key.
Ok, I merged main and updated the PR description and test steps so this should be good to go. Would you please review @marcochavezf? Since testing requires backend changes and our dev environment I'll have to remove you from review @eVoloshchak. |
Hey @neil-marcellini 👋🏽 Why aren't we going to QA this PR? Shouldn't Applause test it too (even if it's a minor change)? Also, I noticed the screenshots/videos are missing :) |
@marcochavezf there's no way that I know of to QA a wallet transfer error, I think @MariaHCD would agree. As I noted in the description, I didn't test on all platforms because the changes here are platform independent. I did include a screenshot showing the error from testing on web. Does that sound good? |
Reviewer Checklist
Screenshots/VideosWebMobile Web - ChromeMobile Web - SafariDesktopiOSAndroid |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/neil-marcellini in version: 1.2.76-0 🚀
|
🚀 Deployed to production by https://github.com/yuwenmemon in version: 1.2.76-7 🚀
|
1 similar comment
🚀 Deployed to production by https://github.com/yuwenmemon in version: 1.2.76-7 🚀
|
🚀 Deployed to production by https://github.com/yuwenmemon in version: 1.2.76-7 🚀
|
Details
Refactors the frontend to accept errors keyed by microtime instead of error to accommodate backend refactor below.
Blocking this PR: https://github.com/Expensify/Web-Expensify/pull/35188
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/224886
PROPOSAL: GH_LINK_ISSUE(COMMENT)
Tests
../script/clitools.sh generator:account
../script/clitools.sh generator:billingcard
. Answer yes to all questions.../script/clitools.sh generator:bankaccount
. Answer the questions to create a deposit account that is validated, is not a business deposit, and use the stripe test account information.../script/clitools.sh validator:wallet
throw new ExpException('test error', 666);
at the top of this catch block.Offline tests
N/A
QA Steps
No QA
PR Author Checklist
We can't easily QA this right now. I didn't test on a high traffic account, nor offline, and I didn't test on all platforms because those items can't be effected by these simple changes.
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Web
Mobile Web - Chrome
Mobile Web - Safari
Desktop
iOS
Android