[ 
https://issues.apache.org/jira/browse/FINERACT-2498?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adam Saghy resolved FINERACT-2498.
----------------------------------
    Fix Version/s: 1.15.0
       Resolution: Fixed

> Add GROUP as a Guarantor Type to Support Group Savings Accounts as Loan 
> Collateral
> ----------------------------------------------------------------------------------
>
>                 Key: FINERACT-2498
>                 URL: https://issues.apache.org/jira/browse/FINERACT-2498
>             Project: Apache Fineract
>          Issue Type: Improvement
>          Components: Savings
>            Reporter: Ralph Hopman
>            Assignee: Ralph Hopman
>            Priority: Minor
>             Fix For: 1.15.0
>
>
> Currently, the guarantor functionality only supports three types:
>  * *CUSTOMER (1)* - Existing clients
>  * *STAFF (2)* - Staff members
>  * *EXTERNAL (3)* - External persons
> The system allows *group savings accounts* to be used as loan collateral 
> through guarantors, but there is no proper GROUP guarantor type. This causes 
> validation failures when attempting to use a group savings account as 
> collateral because the validation logic tries to find a *client* with the 
> group's ID, resulting in "entity not found" errors when client and group IDs 
> don't overlap.
> The test {{testOnHoldTransactionsApiForGroupSavingsAccount}} in 
> {{GroupSavingsIntegrationTest}} currently fails in CI when there are 
> non-overlapping IDs between {{m_client}} and {{m_group}} tables.
> Tests and implementations incorrectly use {{guarantorTypeId = 1}} 
> (CUSTOMER/CLIENT) with a group entity ID, which only works by coincidence 
> when client and group IDs happen to overlap.
> h2. Proposed Solution
> Add *GROUP (4)* as a new guarantor type with proper validation support 
> throughout the codebase to correctly handle group savings accounts as loan 
> collateral.
> This solution is {*}backward compatible{*}: Existing API clients using types 
> 1, 2, or 3 will continue to work unchanged. Type 4 is purely additive.
> h2. Testing
>  # Integration test 
> {{GroupSavingsIntegrationTest.testOnHoldTransactionsApiForGroupSavingsAccount}}
>  should pass with non-overlapping client/group IDs
>  # New test using {{GuarantorTestBuilder.existingGroupWithGuaranteeAmount()}} 
> to test group guarantors



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to