FINERACT-2273: Make sure the setters of Loan repayment installment entity balances maintain the scaling of 6 and set null in case the value is zero

This commit is contained in:
mariiaKraievska
2025-05-26 11:27:26 +02:00
committed by Adam Saghy
parent 6cb60f48fc
commit 88105c3cac
6 changed files with 454 additions and 167 deletions
@@ -5348,8 +5348,8 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
ArrayList<HashMap> loanSchedule = LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC, loanID);
assertEquals(2, loanSchedule.size());
assertEquals(0.0f, loanSchedule.get(1).get("penaltyChargesDue"));
assertEquals(0.0f, loanSchedule.get(1).get("penaltyChargesOutstanding"));
assertEquals(0, loanSchedule.get(1).get("penaltyChargesDue"));
assertEquals(0, loanSchedule.get(1).get("penaltyChargesOutstanding"));
assertEquals(1000.0f, loanSchedule.get(1).get("totalDueForPeriod"));
assertEquals(1000.0f, loanSchedule.get(1).get("totalOutstandingForPeriod"));
LocalDate targetDate = LocalDate.of(2022, 9, 7);
@@ -5944,10 +5944,10 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
ArrayList<HashMap> loanSchedule = LOAN_TRANSACTION_HELPER.getLoanRepaymentSchedule(REQUEST_SPEC, RESPONSE_SPEC, loanID);
assertEquals(2, loanSchedule.size());
assertEquals(0.0f, loanSchedule.get(1).get("feeChargesDue"));
assertEquals(0.0f, loanSchedule.get(1).get("feeChargesOutstanding"));
assertEquals(0.0f, loanSchedule.get(1).get("penaltyChargesDue"));
assertEquals(0.0f, loanSchedule.get(1).get("penaltyChargesOutstanding"));
assertEquals(0, loanSchedule.get(1).get("feeChargesDue"));
assertEquals(0, loanSchedule.get(1).get("feeChargesOutstanding"));
assertEquals(0, loanSchedule.get(1).get("penaltyChargesDue"));
assertEquals(0, loanSchedule.get(1).get("penaltyChargesOutstanding"));
assertEquals(1000.0f, loanSchedule.get(1).get("totalDueForPeriod"));
assertEquals(1000.0f, loanSchedule.get(1).get("totalOutstandingForPeriod"));
LocalDate targetDate = LocalDate.of(2022, 9, 7);
@@ -6013,11 +6013,11 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
assertEquals(0, loanSchedule.get(1).get("feeChargesOutstanding"));
assertEquals(0, loanSchedule.get(1).get("feeChargesWaived"));
assertEquals(10.0f, loanSchedule.get(1).get("penaltyChargesDue"));
assertEquals(0.0f, loanSchedule.get(1).get("penaltyChargesWaived"));
assertEquals(0, loanSchedule.get(1).get("penaltyChargesWaived"));
assertEquals(10.0f, loanSchedule.get(1).get("penaltyChargesOutstanding"));
assertEquals(1010.0f, loanSchedule.get(1).get("totalDueForPeriod"));
assertEquals(1010.0f, loanSchedule.get(1).get("totalOutstandingForPeriod"));
assertEquals(0.0f, loanSchedule.get(1).get("totalWaivedForPeriod"));
assertEquals(0, loanSchedule.get(1).get("totalWaivedForPeriod"));
loanSummary = LOAN_TRANSACTION_HELPER.getLoanDetail(REQUEST_SPEC, RESPONSE_SPEC, loanID, "summary");
assertEquals(10.0f, loanSummary.get("penaltyChargesCharged"));
@@ -6146,13 +6146,13 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
assertEquals(2, loanSchedule.size());
assertEquals(10.0f, loanSchedule.get(1).get("feeChargesDue"));
assertEquals(10.0f, loanSchedule.get(1).get("feeChargesOutstanding"));
assertEquals(0.0f, loanSchedule.get(1).get("feeChargesWaived"));
assertEquals(0, loanSchedule.get(1).get("feeChargesWaived"));
assertEquals(10.0f, loanSchedule.get(1).get("penaltyChargesDue"));
assertEquals(0, loanSchedule.get(1).get("penaltyChargesWaived"));
assertEquals(10.0f, loanSchedule.get(1).get("penaltyChargesOutstanding"));
assertEquals(1020.0f, loanSchedule.get(1).get("totalDueForPeriod"));
assertEquals(1020.0f, loanSchedule.get(1).get("totalOutstandingForPeriod"));
assertEquals(0.0f, loanSchedule.get(1).get("totalWaivedForPeriod"));
assertEquals(0, loanSchedule.get(1).get("totalWaivedForPeriod"));
loanSummary = LOAN_TRANSACTION_HELPER.getLoanDetail(REQUEST_SPEC, RESPONSE_SPEC, loanID, "summary");
assertEquals(10.0f, loanSummary.get("penaltyChargesCharged"));
@@ -173,10 +173,10 @@ public class LoanSpecificDueDateChargeAfterMaturityTest extends BaseLoanIntegrat
ArrayList<HashMap> loanSchedule = this.loanTransactionHelper.getLoanRepaymentSchedule(requestSpec, responseSpec, loanID);
assertEquals(2, loanSchedule.size());
assertEquals(0.0f, loanSchedule.get(1).get("feeChargesDue"));
assertEquals(0.0f, loanSchedule.get(1).get("feeChargesOutstanding"));
assertEquals(0.0f, loanSchedule.get(1).get("penaltyChargesDue"));
assertEquals(0.0f, loanSchedule.get(1).get("penaltyChargesOutstanding"));
assertEquals(0, loanSchedule.get(1).get("feeChargesDue"));
assertEquals(0, loanSchedule.get(1).get("feeChargesOutstanding"));
assertEquals(0, loanSchedule.get(1).get("penaltyChargesDue"));
assertEquals(0, loanSchedule.get(1).get("penaltyChargesOutstanding"));
assertEquals(10000.0f, loanSchedule.get(1).get("totalDueForPeriod"));
assertEquals(10000.0f, loanSchedule.get(1).get("totalOutstandingForPeriod"));
targetDate = LocalDate.of(2011, 4, 5);
@@ -306,10 +306,10 @@ public class LoanSpecificDueDateChargeAfterMaturityTest extends BaseLoanIntegrat
ArrayList<HashMap> loanSchedule = this.loanTransactionHelper.getLoanRepaymentSchedule(requestSpec, responseSpec, loanID);
assertEquals(2, loanSchedule.size());
assertEquals(0.0f, loanSchedule.get(1).get("feeChargesDue"));
assertEquals(0.0f, loanSchedule.get(1).get("feeChargesOutstanding"));
assertEquals(0.0f, loanSchedule.get(1).get("penaltyChargesDue"));
assertEquals(0.0f, loanSchedule.get(1).get("penaltyChargesOutstanding"));
assertEquals(0, loanSchedule.get(1).get("feeChargesDue"));
assertEquals(0, loanSchedule.get(1).get("feeChargesOutstanding"));
assertEquals(0, loanSchedule.get(1).get("penaltyChargesDue"));
assertEquals(0, loanSchedule.get(1).get("penaltyChargesOutstanding"));
assertEquals(10000.0f, loanSchedule.get(1).get("totalDueForPeriod"));
assertEquals(10000.0f, loanSchedule.get(1).get("totalOutstandingForPeriod"));
@@ -844,7 +844,7 @@ public class SchedulerJobsTestResults extends IntegrationTest {
ArrayList<HashMap> repaymentScheduleDataAfter = this.loanTransactionHelper.getLoanRepaymentSchedule(requestSpec, responseSpec,
loanID);
Assertions.assertEquals(0.0f, repaymentScheduleDataAfter.get(1).get("penaltyChargesDue"),
Assertions.assertEquals(0, repaymentScheduleDataAfter.get(1).get("penaltyChargesDue"),
"Verifying From Penalty Charges due fot first Repayment after Successful completion of Scheduler Job");
}
@@ -1085,7 +1085,7 @@ public class SchedulerJobsTestResults extends IntegrationTest {
this.schedulerJobHelper.executeAndAwaitJob(jobName);
List<HashMap> repaymentScheduleDataAfter = this.loanTransactionHelper.getLoanRepaymentSchedule(requestSpec, responseSpec,
loanID);
Assertions.assertEquals(0.0f, repaymentScheduleDataAfter.get(1).get("penaltyChargesDue"),
Assertions.assertEquals(0, repaymentScheduleDataAfter.get(1).get("penaltyChargesDue"),
"Verifying From Penalty Charges due fot first Repayment after Successful completion of Scheduler Job");
LocalDate lastBusinessDateBeforeFastForward = LocalDate.of(2019, 4, 2);
@@ -1153,7 +1153,7 @@ public class SchedulerJobsTestResults extends IntegrationTest {
this.schedulerJobHelper.executeAndAwaitJob(jobName);
List<HashMap> repaymentScheduleDataAfter = this.loanTransactionHelper.getLoanRepaymentSchedule(requestSpec, responseSpec,
loanID2);
Assertions.assertEquals(0.0f, repaymentScheduleDataAfter.get(1).get("penaltyChargesDue"),
Assertions.assertEquals(0, repaymentScheduleDataAfter.get(1).get("penaltyChargesDue"),
"Verifying From Penalty Charges due fot first Repayment after Successful completion of Scheduler Job");
BusinessDateHelper.updateBusinessDate(requestSpec, responseSpec, BusinessDateType.COB_DATE, LocalDate.of(2020, 5, 3));