FINERACT-2148: Cumulative Loan - accrual handling in case of charged-off loan

This commit is contained in:
mariiaKraievska
2025-03-27 15:05:14 +01:00
committed by Adam Saghy
parent 0fc1c3e20e
commit acabf16003
21 changed files with 308 additions and 38 deletions
@@ -780,8 +780,9 @@ public class LoanChargeOffAccountingTest extends BaseLoanIntegrationTest {
loanDetails = loanTransactionHelper.getLoanDetails(loanId.longValue());
assertTrue(loanDetails.getTransactions().get(0).getType().getDisbursement());
assertTrue(loanDetails.getTransactions().get(1).getType().getAccrual());
assertTrue(loanDetails.getTransactions().get(2).getType().getChargeoff());
assertEquals(3, loanDetails.getTransactions().size());
assertTrue(loanDetails.getTransactions().get(2).getType().getAccrual());
assertTrue(loanDetails.getTransactions().get(3).getType().getChargeoff());
assertEquals(4, loanDetails.getTransactions().size());
BusinessDateHelper.updateBusinessDate(requestSpec, responseSpec, BusinessDateType.BUSINESS_DATE, LocalDate.of(2020, 9, 8));
inlineLoanCOBHelper.executeInlineCOB(List.of(loanId.longValue()));
@@ -789,8 +790,9 @@ public class LoanChargeOffAccountingTest extends BaseLoanIntegrationTest {
loanDetails = loanTransactionHelper.getLoanDetails(loanId.longValue());
assertTrue(loanDetails.getTransactions().get(0).getType().getDisbursement());
assertTrue(loanDetails.getTransactions().get(1).getType().getAccrual());
assertTrue(loanDetails.getTransactions().get(2).getType().getChargeoff());
assertEquals(3, loanDetails.getTransactions().size());
assertTrue(loanDetails.getTransactions().get(2).getType().getAccrual());
assertTrue(loanDetails.getTransactions().get(3).getType().getChargeoff());
assertEquals(4, loanDetails.getTransactions().size());
loanTransactionHelper.undoChargeOffLoan((long) loanId, new PostLoansLoanIdTransactionsRequest());
// generate accrual again
@@ -799,9 +801,10 @@ public class LoanChargeOffAccountingTest extends BaseLoanIntegrationTest {
loanDetails = loanTransactionHelper.getLoanDetails(loanId.longValue());
assertTrue(loanDetails.getTransactions().get(0).getType().getDisbursement());
assertTrue(loanDetails.getTransactions().get(1).getType().getAccrual());
assertTrue(loanDetails.getTransactions().get(2).getType().getChargeoff());
assertTrue(loanDetails.getTransactions().get(3).getType().getAccrual());
assertEquals(4, loanDetails.getTransactions().size());
assertTrue(loanDetails.getTransactions().get(2).getType().getAccrual());
assertTrue(loanDetails.getTransactions().get(3).getType().getChargeoff());
assertTrue(loanDetails.getTransactions().get(4).getType().getAccrual());
assertEquals(5, loanDetails.getTransactions().size());
BusinessDateHelper.updateBusinessDate(requestSpec, responseSpec, BusinessDateType.BUSINESS_DATE, LocalDate.of(2020, 9, 10));
@@ -815,11 +818,13 @@ public class LoanChargeOffAccountingTest extends BaseLoanIntegrationTest {
loanDetails = loanTransactionHelper.getLoanDetails(loanId.longValue());
assertTrue(loanDetails.getTransactions().get(0).getType().getDisbursement());
assertTrue(loanDetails.getTransactions().get(1).getType().getAccrual());
assertTrue(loanDetails.getTransactions().get(2).getType().getChargeoff());
assertTrue(loanDetails.getTransactions().get(3).getType().getAccrual());
assertTrue(loanDetails.getTransactions().get(4).getType().getChargeoff());
assertTrue(loanDetails.getTransactions().get(5).getType().getRepayment());
assertEquals(6, loanDetails.getTransactions().size());
assertTrue(loanDetails.getTransactions().get(2).getType().getAccrual());
assertTrue(loanDetails.getTransactions().get(3).getType().getChargeoff());
assertTrue(loanDetails.getTransactions().get(4).getType().getAccrual());
assertTrue(loanDetails.getTransactions().get(5).getType().getAccrual());
assertTrue(loanDetails.getTransactions().get(6).getType().getChargeoff());
assertTrue(loanDetails.getTransactions().get(7).getType().getRepayment());
assertEquals(8, loanDetails.getTransactions().size());
} finally {
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
new PutGlobalConfigurationsRequest().enabled(false));