-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
[A/B Testing - Create Expense] Implement Create Expense Flow under hidden Beta #49007
[A/B Testing - Create Expense] Implement Create Expense Flow under hidden Beta #49007
Conversation
…_isValidMoneyRequestType()
…nse beta is enabled
@grgia I had to migrate the following components to
I'll do some quick testing around them on Monday. |
@fabioh8010 would it be better to move the useOnyx updates to a separate PR? |
@fabioh8010, can you also ensure that we replace track/submit for this case in all scenarios throughout the app? |
Yes I would actually prefer that if you are fine with this.
@grgia From what I understood we should only do this in the Global Create menu, could you confirm that we need to do in all the other scenarios? |
Yes, we decided in an internal slack convo [link for internal reference] to replace this option in all the menus yesterday |
|
Hi @fedirjh I'm having same behavior on Screen.Recording.2024-09-30.at.17.54.44.mov |
Going to trigger a new adhoc build |
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪 |
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.
Tests well in ADHOC so far, a few minor comments.
@fedirjh could you take a look at this? I think we could merge it today.
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.
Code changes LGTM, I'll trigger a final build now
Reviewer Checklist
Screenshots/VideosAndroid: NativeCleanShot.2024-10-01.at.11.34.11.mp4Android: mWeb ChromeCleanShot.2024-10-01.at.11.50.50-converted.mp4iOS: NativeScreen.Recording.2024-10-01.at.11.41.19.AM-converted.moviOS: mWeb SafariScreen.Recording.2024-10-01.at.12.01.12.PM.movMacOS: Chrome / SafariCleanShot.2024-10-01.at.11.16.13-converted.mp4 |
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 to me as well.
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪 |
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.
LGTM!
@grgia looks like this was merged without a test passing. Please add a note explaining why this was done and remove the |
Lint errors are being handled here: #49592 |
✋ 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/grgia in version: 9.0.43-0 🚀
|
1 similar comment
🚀 Deployed to staging by https://github.com/grgia in version: 9.0.43-0 🚀
|
This PR is failing because of issue #50058 The issue is reproducible in: all Bug6622023_1727866383691.20241002_185114.1.mp4 |
🚀 Deployed to production by https://github.com/jasperhuangg in version: 9.0.43-6 🚀
|
const trackExpense = () => { | ||
// If coming from the combined submit/track flow and the user proceeds to just track the expense, | ||
// we will use the track IOU type in the confirmation flow. | ||
if (!selfDMReportID) { | ||
return; | ||
} | ||
|
||
IOU.setMoneyRequestParticipantsFromReport(transactionID, ReportUtils.getReport(selfDMReportID)); | ||
const iouConfirmationPageRoute = ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(action, CONST.IOU.TYPE.TRACK, transactionID, selfDMReportID); | ||
Navigation.navigate(iouConfirmationPageRoute); | ||
}; |
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.
In addition to setting the participants we had to set the the custom unit rate id. Without the rate the distance shows as pending
const isDistanceRequestWithPendingRoute = isDistanceRequest && (!hasRoute || !rate) && !isMovingTransactionFromTrackExpense; |
(Coming from #51679)
Details
This PR implements the Combined Expense Flow under the corresponding beta.
Fixed Issues
$ #48787
PROPOSAL: #47598 (comment)
Tests
combinedTrackSubmit
beta enabled in your account.Create expense
option and there are noTrack expense
andSubmit expense
options.Create expense
option to open the page, assert the page's title isCreate expense
.Manual
tab, insert an amount and clickNext
to navigate to the next page. Assert the page's title isSubmit expense
and there is aJust track it
button.Just track it
button to navigate to the Track expense confirmation page. Assert the page's title isTrack expense
. Confirm and assert the expense was tracked.4
and5
forScan
andDistance
requests.4
,5
and6
forManual
,Scan
andDistance
requests, but now submit the expense to someone else instead of tracking it. Assert the confirmation page's title isSubmit expense
.Offline tests
Same as above.
QA Steps
Same as above.
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.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
Android: Native
Screen.Recording.2024-09-17.at.16.43.49-compressed.mov
Android: mWeb Chrome
Screen.Recording.2024-09-17.at.16.50.18-compressed.mov
iOS: Native
Screen.Recording.2024-09-17.at.17.01.34-compressed.mov
iOS: mWeb Safari
Screen.Recording.2024-09-17.at.17.04.28-compressed.mov
MacOS: Chrome / Safari
Screen.Recording.2024-09-17.at.17.09.59-compressed.mov
Screen.Recording.2024-09-17.at.17.13.57-compressed.mov
MacOS: Desktop
Screen.Recording.2024-09-17.at.17.20.20-compressed.mov