-
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
[HOLD for payment 2025-01-02] [$500] [Simple AA in NewDot] Update the approval chain / next receiver logic to handle correct optimistic next approver in Advanced Approval cases #52458
Comments
Job added to Upwork: https://www.upwork.com/jobs/~021856641526591668663 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @ntdiary ( |
Triggered auto assignment to @puneetlath ( |
cc @nkdengineer in case you're interested to work on this, since you worked on #51001 recently |
@Beamanator I'd like to work on this. |
📣 @nkdengineer 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
Thank you @nkdengineer 👍 Please feel free to ask questions here before starting your PR IF you have any, either way I will try to do a very detailed review 🙏 |
Sure. |
Update:
|
@Beamanator I created a draft here. Please help test it with your local backend. Now I can only test with two rule approvers because it's marked as approved after the first rule approver approves the expense report. |
Some problems I've seen so far in my testing
Can you please try that and see if you reproduce the issue? As for the approval order when there's multiple category approvers, i think i see the problem in the back end that i'll start working on a fix for |
@Beamanator I tested this case and |
Ok I tested this a few times, and somehow my first test has the same bug I reported before, BUT I'm not 1000% sure if there was some bad setup... When I continued testing, everything worked out perfectly 😅 - multiple times @nkdengineer my backend PR fix is up for review, hopefully can get merged today but probably won't get deployed till tomorrow at the earliest |
FYI backend PR was merged earlier today, hasn't been deployed yet |
@nkdengineer backend PR was deployed 🙏 please continue with this one & let me know if you hit any more bugs |
BugZero Checklist:
Bug classificationSource of bug:
Where bug was reported:
Who reported the bug:
Regression Test Proposal Template
Regression Test ProposalPrecondition:Test:Do we agree 👍 or 👎 |
Honestly, I still have a small question here, based on the comment above, we could actually create multiple test cases. I’m still hesitating whether to try adding some automated unit tests, or just create a few regression tests. Personally, I’m leaning a bit toward the former—perhaps preparing some test data, then calling methods like |
@Beamanator what do you think? |
I def like the idea of automated unit tests 👍👍👍👍👍 Though I'm not quite sure how the current process works for that - should I make a new issue & assign one of you to write all the tests? I don't think we would need both a contributor & a C+ for that right? 🤷 But I definitely think it's a good idea to write automated tests for these changes since they're pretty complex and super easy to break |
@Beamanator I think it's a good idea.
We can talk about all possible scenarios related to this issue. I can help to work on this. |
Sounds like a great idea to me! 👍 I thinkkk I'll create a new issue for this tomorrow, and I'll assign you @nkdengineer 🚀 |
Issue is ready for payment but no BZ is assigned. @laurenreidexpensify you are the lucky winner! Please verify the payment summary looks correct and complete the checklist. Thanks! |
Ummmm pretty sure @puneetlath is BZ here? 😅 |
@puneetlath isn't on the team anymore :) |
ohhhhhh |
That said, I'm locked out of my Upwork account right now so @puneetlath can you take this one to the finish line 🙏 thanks! |
FYI, have completed the checklist. :) |
Payment summary:
Thanks everyone! @Beamanator I'll leave the issue open for you to close once you've created the follow-up issue. |
@puneetlath, @Beamanator, @ntdiary, @nkdengineer Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
$500 approved for @ntdiary |
@puneetlath, @Beamanator, @ntdiary, @nkdengineer Eep! 4 days overdue now. Issues have feelings too... |
@Beamanator Is the new issue ready? |
Created follow-up: #55003 @nkdengineer can you please comment there so i can assign you? Closing this one now 👍 |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: Current
Reproducible in staging?: Y
Reproducible in production?: Y
Expensify/Expensify Issue URL: https://github.com/Expensify/Expensify/issues/430318
[1] Action Performed:
[1] Expected Result:
[2] Action Performed:
submitsTo
Approver AforwardsTo
Approver BforwardsTo
workspace ownersubmitsTo
of Approver C[2] Expected Result:
Implementation details
ReportUtils.getApprovalChain
This function should ONLY return the submitter's approval chain based on the current
policy.employeeList
data.We need to start including category & tag approvers in this function. Category approvers should come first, then tag approvers, then approvers in
employeeList
.Here's what we have in C++ which should give a good starting point:
IOU.getNextApproverAccountID
This function should figure out who, in the policy's current approvalChain (built by buildApproverChain above) is next in line to approve the report.
This function will also check IF the report has been previously approved by someone in the approval chain - if so, they will be skipped.
Here's what we have in C++ which should give a good starting point:
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @puneetlathThe text was updated successfully, but these errors were encountered: