Reapply "Feat: bulk edit multiple"#82948
Conversation
This reverts commit ddd70f1.
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
|
Updates: Fixed : Next steps - Fix medium and low |
|
Updates: Fixed: |
|
Updates: Remaining issues from LOW -
|
|
Updates:
In prgress:
|
|
This is looking good so far @pasyukevich! Thanks! What do you think for ETA? |
|
Deploy Blocker #84663 was identified to be related to this PR. |
|
Deploy Blocker #84665 was identified to be related to this PR. |
|
Deploy Blocker #84666 was identified to be related to this PR. |
|
Deploy Blocker #84668 was identified to be related to this PR. |
|
Deploy Blocker #84671 was identified to be related to this PR. |
|
Deploy Blocker #84675 was identified to be related to this PR. |
|
Deploy Blocker #84678 was identified to be related to this PR. |
|
Deploy Blocker #84683 was identified to be related to this PR. |
|
Deploy Blocker #84684 was identified to be related to this PR. |
|
Hello @pasyukevich, we’re a bit confused about what is meant by From our result, the selection mode is not dismissed. The video attached in this PR also seems to show the same behavior. Our result :
Bug7098467_1773109627334.Bulk_17.mp4Could you confirm if this is the expected behavior? |
|
Deploy Blocker #84689 was identified to be related to this PR. |
|
Deploy Blocker #84693 was identified to be related to this PR. |
Hi! This is a mistake at this step. It should simply be deselected, just like in the other flows (for example, Hold). I will update the test step. |
|
Deploy Blocker #84735 was identified to be related to this PR. |
|
🚀 Deployed to production by https://github.com/luacmartins in version: 9.3.34-2 🚀
|


This reverts commit ddd70f1.
Explanation of Change
Fixed Issues
$ #75617
PROPOSAL:
Tests
Bulk Edit Expenses — Test Cases
Test 1: Basic bulk edit from Search page
Verify:
Test 2: Basic bulk edit from Report page
Verify:
Test 3: Cross-policy bulk edit
Verify:
Test 4: Multi-level/dependent tags
Verify:
Test 5: Non-editable fields silently skipped
Verify:
Test 6: Unchanged fields not sent
Verify:
Test 7: Save with no edits
Verify:
Test 8: Optimistic updates and failure
Verify:
Test 9: Offline bulk edit
Verify:
Test 10: Sub-pages show correct policy options from Search page
Setup:
Verify:
Test 11: Approved/paid expenses excluded
Verify:
Test 12: Tax rate bulk edit
Verify:
Test 13: Billable / Reimbursable toggle
Verify:
Test 14: Merchant preview not updated after offline bulk edit
Precondition: Account has at least one workspace.
Expected Result:
After multiple editing expenses while offline, all the edited fields should automatically update on preview and inside report.
Test 15: Description not saved when using "Edit multiple"
<Shahrukh,khan>Expected Result:
Specific description entered using edit multiple must be saved.
Test 16: IOU expenses can be changed to 0 amount by bulk editing
Expected Result:
Error will show up on amount page because IOU expenses cannot be changed to 0 amount.
Test 17: User can bulk edit splits to amount larger than original amount
Expected Result:
Edit multiple option should not be available.
Test 18: Merchant can be removed by bulk editing with (none)
(none)and save it → SaveExpected Result:
Error will show up when entering invalid merchant such as
(none).Test 19: IOU expenses can be changed to non-reimbursable by bulk editing
Expected Result:
IOU expenses should have no reimbursable option.
Test 20: Edit multiple option is missing for unreported expenses
Expected Result:
Edit multiple option should be present for unreported expenses (it is possible to bulk edit unreported expenses on OD).
Test 21: Date field is disabled when bulk editing per diem expenses
Precondition: Workspace has per diem rates.
Expected Result:
Date field should be enabled when bulk editing per diem expenses (we can bulk edit date for per diem expenses on OD).
Test 22: Markdown is not applied in the description when bulk editing expenses
Expected Result:
Markdown will be applied in the description.
Test 23: Expenses deselect after "Edit Multiple" is executed
Verify:
Test 24: Big gap between "Save" and keyboard on "Description" when multiple editing offline — Android
Platform: Android only
Precondition: Account has at least one workspace.
Expected Result:
Gap between "Save" button and keyboard should be the same while editing "Description" on a single expense and when multiple editing expenses.
Test 25: Last category is hidden behind device navigation bar — Android
Platform: Android only
Precondition: Set device navigation to navigation bar instead of swipe gestures.
Expected Result:
The last category will appear above device navigation bar.
Offline tests
QA Steps
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, 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.ScrollViewcomponent to make it scrollable when more elements are added to the page.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-native-converted.webm
Android: mWeb Chrome
android-web-converted.webm
iOS: Native
ios-native-converted.mov
iOS: mWeb Safari
ios-web-converted.mov
MacOS: Chrome / Safari
desktop-web-converted.mov