Provide endpoint to validate fund distributions

Description

Overview: 

When using only dollar amount distributions the system doesn't acknowledge that all cost in accounted for and order will not open.
Fund distribution total validation should allow 2 cases: either totals in the currency add up, or percentages add up to 100%. Currently the first case is not supported (it used to be the only one supported before ).

Steps to Reproduce:

  1. Log into some FOLIO environment as User X

  2. Create order

  3. Add order line with cost of $90

  4. Add 3 fund distributions using percentage

  5. Each Fund 33.33%

  6. Save POL

  7. Click action menu for order

  8. Click Open

Expected Results: Order is opened and encumbered successfully. Three encumbrances, 1 for each fund for $30

 
Actual Results: Order fails to open. error shown "Fund distribution total must add to 100% or totalPrice"

Approach:

The same endpoint already implemented for mod-orders in scope of story: . Need to do the same for mod-invoice as well. 

Logic to validate fund distributions for mod-orders located in method: org.folio.orders.utils.FundDistributionUtils#validateFundDistributionTotal

Contract with endpoint for mod-orders attached as Postman collection in , we can reuse the same contract for mod-invoice response, request payload is different, to get request contract please take a look -> Create API contract for fund distribution validation
File with APIs -> fundValidationAPIContract.txt

Additional Information:

This was found in bugfest lotus release.

The new implementation should be callable directly by UI in a new endpoint. See .

CSP Request Details

None

CSP Rejection Details

None

Potential Workaround

Use a dollar amount for at least one of your fund distributions such that the system will not encounter a rounding error. ie. for $90 use 33.33%, 33.33% and $33.34. This ensures the total after rounding up or down is in fact $90 and not $89.991 resulting in 1 penny missing.

clones

has to be done before

Checklist

hide

TestRail: Results

Activity

Show:

Dennis Bridges August 19, 2022 at 6:06 PM

Test successful in bugfest-mg

Oleksii Petrenko August 15, 2022 at 9:19 AM

Deployed to MG bf. Please proceed with verification

Adesh Singh August 4, 2022 at 10:28 AM

Done

Details

Assignee

Reporter

Tester Assignee

Priority

Story Points

Sprint

Development Team

Thunderjet

Fix versions

Release

Morning Glory (R2 2022) Bug Fix

RCA Group

Legitimate regression

Affected Institution

!!!ALL!!!

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created July 25, 2022 at 7:30 AM
Updated August 19, 2022 at 6:06 PM
Resolved August 8, 2022 at 12:52 PM
Loading...