FINERACT-2181: fix api double values in loan definitions
This commit is contained in:
+4
-3
@@ -31,6 +31,7 @@ import org.apache.fineract.client.models.PostLoanProductsRequest;
|
||||
import org.apache.fineract.client.models.PostLoanProductsResponse;
|
||||
import org.apache.fineract.client.models.PostLoansLoanIdChargesChargeIdRequest;
|
||||
import org.apache.fineract.integrationtests.common.ClientHelper;
|
||||
import org.apache.fineract.integrationtests.common.Utils;
|
||||
import org.apache.fineract.integrationtests.common.loans.LoanTestLifecycleExtension;
|
||||
import org.apache.fineract.portfolio.loanaccount.loanschedule.domain.LoanScheduleProcessingType;
|
||||
import org.apache.fineract.portfolio.loanaccount.loanschedule.domain.LoanScheduleType;
|
||||
@@ -72,7 +73,7 @@ public class AdvancedPaymentAllocationWaiveLoanCharges extends BaseLoanIntegrati
|
||||
Assertions.assertNotNull(waiveTransaction.getLoanChargePaidByList());
|
||||
Assertions.assertEquals(1, waiveTransaction.getLoanChargePaidByList().size());
|
||||
Assertions.assertEquals(loanChargeId, waiveTransaction.getLoanChargePaidByList().get(0).getChargeId());
|
||||
Assertions.assertEquals(50.0, waiveTransaction.getLoanChargePaidByList().get(0).getAmount());
|
||||
Assertions.assertEquals(50.0, Utils.getDoubleValue(waiveTransaction.getLoanChargePaidByList().get(0).getAmount()));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -105,7 +106,7 @@ public class AdvancedPaymentAllocationWaiveLoanCharges extends BaseLoanIntegrati
|
||||
Assertions.assertNotNull(waiveTransaction.getLoanChargePaidByList());
|
||||
Assertions.assertEquals(1, waiveTransaction.getLoanChargePaidByList().size());
|
||||
Assertions.assertEquals(loanChargeId, waiveTransaction.getLoanChargePaidByList().get(0).getChargeId());
|
||||
Assertions.assertEquals(50.0, waiveTransaction.getLoanChargePaidByList().get(0).getAmount());
|
||||
Assertions.assertEquals(50.0, Utils.getDoubleValue(waiveTransaction.getLoanChargePaidByList().get(0).getAmount()));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -143,7 +144,7 @@ public class AdvancedPaymentAllocationWaiveLoanCharges extends BaseLoanIntegrati
|
||||
Assertions.assertNotNull(waiveTransaction.getLoanChargePaidByList());
|
||||
Assertions.assertEquals(1, waiveTransaction.getLoanChargePaidByList().size());
|
||||
Assertions.assertEquals(loanChargeId, waiveTransaction.getLoanChargePaidByList().get(0).getChargeId());
|
||||
Assertions.assertEquals(50.0, waiveTransaction.getLoanChargePaidByList().get(0).getAmount());
|
||||
Assertions.assertEquals(50.0, Utils.getDoubleValue(waiveTransaction.getLoanChargePaidByList().get(0).getAmount()));
|
||||
|
||||
addRepaymentForLoan(loanId, 200.0, "03 January 2023");
|
||||
|
||||
|
||||
+240
-240
@@ -5435,9 +5435,9 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
GetLoansLoanIdTransactions replayedTransaction = loanDetails.getTransactions().stream()
|
||||
.filter(t -> externalId.equals(t.getExternalId())).findFirst().get();
|
||||
|
||||
assertEquals(10.0, replayedTransaction.getAmount());
|
||||
assertEquals(5.0, replayedTransaction.getPenaltyChargesPortion());
|
||||
assertEquals(5.0, replayedTransaction.getPrincipalPortion());
|
||||
assertEquals(10.0, Utils.getDoubleValue(replayedTransaction.getAmount()));
|
||||
assertEquals(5.0, Utils.getDoubleValue(replayedTransaction.getPenaltyChargesPortion()));
|
||||
assertEquals(5.0, Utils.getDoubleValue(replayedTransaction.getPrincipalPortion()));
|
||||
assertEquals("loanTransactionType.chargeAdjustment", replayedTransaction.getType().getCode());
|
||||
assertEquals(externalId, replayedTransaction.getExternalId());
|
||||
|
||||
@@ -5549,10 +5549,10 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
GetLoansLoanIdResponse loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
List<GetLoansLoanIdRepaymentPeriod> loanSchedulePeriods = loanDetails.getRepaymentSchedule().getPeriods();
|
||||
assertEquals(2, loanSchedulePeriods.size());
|
||||
assertEquals(0.0, loanSchedulePeriods.get(1).getPenaltyChargesDue());
|
||||
assertEquals(0.0, loanSchedulePeriods.get(1).getPenaltyChargesOutstanding());
|
||||
assertEquals(1000.0, loanSchedulePeriods.get(1).getTotalDueForPeriod());
|
||||
assertEquals(1000.0, loanSchedulePeriods.get(1).getTotalOutstandingForPeriod());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesDue()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesOutstanding()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalDueForPeriod()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalOutstandingForPeriod()));
|
||||
|
||||
LocalDate targetDate = LocalDate.of(2022, 9, 7);
|
||||
final String penaltyCharge1AddedDate = DATE_TIME_FORMATTER.format(targetDate);
|
||||
@@ -5564,9 +5564,9 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
List<GetLoansLoanIdTransactions> transactions = loanDetails.getTransactions();
|
||||
assertEquals(10.0, transactions.get(1).getAmount());
|
||||
assertEquals(10.0, Utils.getDoubleValue(transactions.get(1).getAmount()));
|
||||
assertTrue(transactions.get(1).getType().getAccrual());
|
||||
assertEquals(10.0, transactions.get(1).getPenaltyChargesPortion());
|
||||
assertEquals(10.0, Utils.getDoubleValue(transactions.get(1).getPenaltyChargesPortion()));
|
||||
Long accrualTransactionId = transactions.get(1).getId();
|
||||
|
||||
List<HashMap> journalEntries = JOURNAL_ENTRY_HELPER.getJournalEntriesByTransactionId("L" + accrualTransactionId);
|
||||
@@ -5579,15 +5579,15 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanSchedulePeriods = loanDetails.getRepaymentSchedule().getPeriods();
|
||||
assertEquals(2, loanSchedulePeriods.size());
|
||||
assertEquals(10.0, loanSchedulePeriods.get(1).getPenaltyChargesDue());
|
||||
assertEquals(10.0, loanSchedulePeriods.get(1).getPenaltyChargesOutstanding());
|
||||
assertEquals(1010.0, loanSchedulePeriods.get(1).getTotalDueForPeriod());
|
||||
assertEquals(1010.0, loanSchedulePeriods.get(1).getTotalOutstandingForPeriod());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesDue()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesOutstanding()));
|
||||
assertEquals(1010.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalDueForPeriod()));
|
||||
assertEquals(1010.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalOutstandingForPeriod()));
|
||||
|
||||
GetLoansLoanIdSummary loanSummary = loanDetails.getSummary();
|
||||
assertEquals(10.0, loanSummary.getPenaltyChargesCharged());
|
||||
assertEquals(10.0, loanSummary.getPenaltyChargesOutstanding());
|
||||
assertEquals(1010.0, loanSummary.getTotalOutstanding());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesCharged()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesOutstanding()));
|
||||
assertEquals(1010.0, Utils.getDoubleValue(loanSummary.getTotalOutstanding()));
|
||||
|
||||
String externalId = UUID.randomUUID().toString();
|
||||
PostLoansLoanIdChargesChargeIdResponse chargeAdjustmentResponse = LOAN_TRANSACTION_HELPER.chargeAdjustment((long) loanID,
|
||||
@@ -5597,23 +5597,23 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanSchedulePeriods = loanDetails.getRepaymentSchedule().getPeriods();
|
||||
assertEquals(2, loanSchedulePeriods.size());
|
||||
assertEquals(10.0, loanSchedulePeriods.get(1).getPenaltyChargesDue());
|
||||
assertEquals(10.0, loanSchedulePeriods.get(1).getPenaltyChargesPaid());
|
||||
assertEquals(0.0, loanSchedulePeriods.get(1).getPenaltyChargesOutstanding());
|
||||
assertEquals(1010.0, loanSchedulePeriods.get(1).getTotalDueForPeriod());
|
||||
assertEquals(1000.0, loanSchedulePeriods.get(1).getTotalOutstandingForPeriod());
|
||||
assertEquals(10.0, loanSchedulePeriods.get(1).getTotalPaidForPeriod());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesDue()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesPaid()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesOutstanding()));
|
||||
assertEquals(1010.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalDueForPeriod()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalOutstandingForPeriod()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalPaidForPeriod()));
|
||||
|
||||
loanSummary = loanDetails.getSummary();
|
||||
assertEquals(10.0, loanSummary.getPenaltyChargesCharged());
|
||||
assertEquals(0.0, loanSummary.getPenaltyChargesOutstanding());
|
||||
assertEquals(10.0, loanSummary.getPenaltyChargesPaid());
|
||||
assertEquals(1000.0, loanSummary.getTotalOutstanding());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesCharged()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesOutstanding()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesPaid()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanSummary.getTotalOutstanding()));
|
||||
|
||||
transactions = loanDetails.getTransactions();
|
||||
assertEquals(10.0, transactions.get(2).getAmount());
|
||||
assertEquals(10.0, Utils.getDoubleValue(transactions.get(2).getAmount()));
|
||||
assertTrue(transactions.get(2).getType().getChargeAdjustment());
|
||||
assertEquals(10.0, transactions.get(2).getPenaltyChargesPortion());
|
||||
assertEquals(10.0, Utils.getDoubleValue(transactions.get(2).getPenaltyChargesPortion()));
|
||||
Long chargeAdjustmentTransactionId = transactions.get(2).getId();
|
||||
|
||||
journalEntries = JOURNAL_ENTRY_HELPER.getJournalEntriesByTransactionId("L" + chargeAdjustmentTransactionId);
|
||||
@@ -5654,9 +5654,9 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
transactions = loanDetails.getTransactions();
|
||||
assertEquals(3.0, transactions.get(2).getAmount());
|
||||
assertEquals(3.0, Utils.getDoubleValue(transactions.get(2).getAmount()));
|
||||
assertTrue(transactions.get(2).getType().getAccrual());
|
||||
assertEquals(3.0, transactions.get(2).getFeeChargesPortion());
|
||||
assertEquals(3.0, Utils.getDoubleValue(transactions.get(2).getFeeChargesPortion()));
|
||||
assertTrue(StringUtils.isNotBlank(transactions.get(2).getExternalId()));
|
||||
accrualTransactionId = transactions.get(2).getId();
|
||||
|
||||
@@ -5670,19 +5670,19 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanSchedulePeriods = loanDetails.getRepaymentSchedule().getPeriods();
|
||||
assertEquals(2, loanSchedulePeriods.size());
|
||||
assertEquals(10.0, loanSchedulePeriods.get(1).getPenaltyChargesDue());
|
||||
assertEquals(10.0, loanSchedulePeriods.get(1).getPenaltyChargesOutstanding());
|
||||
assertEquals(3.0, loanSchedulePeriods.get(1).getFeeChargesDue());
|
||||
assertEquals(3.0, loanSchedulePeriods.get(1).getFeeChargesOutstanding());
|
||||
assertEquals(1013.0, loanSchedulePeriods.get(1).getTotalDueForPeriod());
|
||||
assertEquals(1013.0, loanSchedulePeriods.get(1).getTotalOutstandingForPeriod());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesDue()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesOutstanding()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getFeeChargesDue()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getFeeChargesOutstanding()));
|
||||
assertEquals(1013.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalDueForPeriod()));
|
||||
assertEquals(1013.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalOutstandingForPeriod()));
|
||||
|
||||
loanSummary = loanDetails.getSummary();
|
||||
assertEquals(10.0, loanSummary.getPenaltyChargesCharged());
|
||||
assertEquals(10.0, loanSummary.getPenaltyChargesOutstanding());
|
||||
assertEquals(3.0, loanSummary.getFeeChargesCharged());
|
||||
assertEquals(3.0, loanSummary.getFeeChargesOutstanding());
|
||||
assertEquals(1013.0, loanSummary.getTotalOutstanding());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesCharged()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesOutstanding()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSummary.getFeeChargesCharged()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSummary.getFeeChargesOutstanding()));
|
||||
assertEquals(1013.0, Utils.getDoubleValue(loanSummary.getTotalOutstanding()));
|
||||
|
||||
LOAN_TRANSACTION_HELPER.makeLoanRepayment((long) loanID, new PostLoansLoanIdTransactionsRequest().dateFormat(DATETIME_PATTERN)
|
||||
.transactionDate("11 September 2022").locale("en").transactionAmount(5.0));
|
||||
@@ -5695,37 +5695,37 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanSchedulePeriods = loanDetails.getRepaymentSchedule().getPeriods();
|
||||
assertEquals(2, loanSchedulePeriods.size());
|
||||
assertEquals(10.0, loanSchedulePeriods.get(1).getPenaltyChargesDue());
|
||||
assertEquals(7.0, loanSchedulePeriods.get(1).getPenaltyChargesPaid());
|
||||
assertEquals(3.0, loanSchedulePeriods.get(1).getPenaltyChargesOutstanding());
|
||||
assertEquals(3.0, loanSchedulePeriods.get(1).getFeeChargesDue());
|
||||
assertEquals(0.0, loanSchedulePeriods.get(1).getFeeChargesPaid());
|
||||
assertEquals(3.0, loanSchedulePeriods.get(1).getFeeChargesOutstanding());
|
||||
assertEquals(1000.0, loanSchedulePeriods.get(1).getPrincipalDue());
|
||||
assertEquals(0.0, loanSchedulePeriods.get(1).getPrincipalPaid());
|
||||
assertEquals(1000.0, loanSchedulePeriods.get(1).getPrincipalOutstanding());
|
||||
assertEquals(1013.0, loanSchedulePeriods.get(1).getTotalDueForPeriod());
|
||||
assertEquals(1006.0, loanSchedulePeriods.get(1).getTotalOutstandingForPeriod());
|
||||
assertEquals(7.0, loanSchedulePeriods.get(1).getTotalPaidForPeriod());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesDue()));
|
||||
assertEquals(7.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesPaid()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesOutstanding()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getFeeChargesDue()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getFeeChargesPaid()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getFeeChargesOutstanding()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPrincipalDue()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPrincipalPaid()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPrincipalOutstanding()));
|
||||
assertEquals(1013.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalDueForPeriod()));
|
||||
assertEquals(1006.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalOutstandingForPeriod()));
|
||||
assertEquals(7.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalPaidForPeriod()));
|
||||
|
||||
loanSummary = loanDetails.getSummary();
|
||||
assertEquals(10.0, loanSummary.getPenaltyChargesCharged());
|
||||
assertEquals(3.0, loanSummary.getPenaltyChargesOutstanding());
|
||||
assertEquals(7.0, loanSummary.getPenaltyChargesPaid());
|
||||
assertEquals(3.0, loanSummary.getFeeChargesCharged());
|
||||
assertEquals(3.0, loanSummary.getFeeChargesOutstanding());
|
||||
assertEquals(0.0, loanSummary.getFeeChargesPaid());
|
||||
assertEquals(1000.0, loanSummary.getPrincipalOutstanding());
|
||||
assertEquals(0.0, loanSummary.getPrincipalPaid());
|
||||
assertEquals(7.0, loanSummary.getTotalRepayment());
|
||||
assertEquals(1006.0, loanSummary.getTotalOutstanding());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesCharged()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesOutstanding()));
|
||||
assertEquals(7.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesPaid()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSummary.getFeeChargesCharged()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSummary.getFeeChargesOutstanding()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSummary.getFeeChargesPaid()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanSummary.getPrincipalOutstanding()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSummary.getPrincipalPaid()));
|
||||
assertEquals(7.0, Utils.getDoubleValue(loanSummary.getTotalRepayment()));
|
||||
assertEquals(1006.0, Utils.getDoubleValue(loanSummary.getTotalOutstanding()));
|
||||
|
||||
transactions = loanDetails.getTransactions();
|
||||
assertEquals(2.0, transactions.get(5).getAmount());
|
||||
assertEquals(2.0, Utils.getDoubleValue(transactions.get(5).getAmount()));
|
||||
assertTrue(transactions.get(4).getType().getChargeAdjustment());
|
||||
assertEquals(2.0, transactions.get(5).getPenaltyChargesPortion());
|
||||
assertEquals(0.0, transactions.get(5).getFeeChargesPortion());
|
||||
assertEquals(0.0, transactions.get(5).getPrincipalPortion());
|
||||
assertEquals(2.0, Utils.getDoubleValue(transactions.get(5).getPenaltyChargesPortion()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(transactions.get(5).getFeeChargesPortion()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(transactions.get(5).getPrincipalPortion()));
|
||||
chargeAdjustmentTransactionId = transactions.get(5).getId();
|
||||
|
||||
journalEntries = JOURNAL_ENTRY_HELPER.getJournalEntriesByTransactionId("L" + chargeAdjustmentTransactionId);
|
||||
@@ -5744,37 +5744,37 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanSchedulePeriods = loanDetails.getRepaymentSchedule().getPeriods();
|
||||
assertEquals(2, loanSchedulePeriods.size());
|
||||
assertEquals(10.0, loanSchedulePeriods.get(1).getPenaltyChargesDue());
|
||||
assertEquals(10.0, loanSchedulePeriods.get(1).getPenaltyChargesPaid());
|
||||
assertEquals(0.0, loanSchedulePeriods.get(1).getPenaltyChargesOutstanding());
|
||||
assertEquals(3.0, loanSchedulePeriods.get(1).getFeeChargesDue());
|
||||
assertEquals(3.0, loanSchedulePeriods.get(1).getFeeChargesPaid());
|
||||
assertEquals(0.0, loanSchedulePeriods.get(1).getFeeChargesOutstanding());
|
||||
assertEquals(1000.0, loanSchedulePeriods.get(1).getPrincipalDue());
|
||||
assertEquals(1.0, loanSchedulePeriods.get(1).getPrincipalPaid());
|
||||
assertEquals(999.0, loanSchedulePeriods.get(1).getPrincipalOutstanding());
|
||||
assertEquals(1013.0, loanSchedulePeriods.get(1).getTotalDueForPeriod());
|
||||
assertEquals(999.0, loanSchedulePeriods.get(1).getTotalOutstandingForPeriod());
|
||||
assertEquals(14.0, loanSchedulePeriods.get(1).getTotalPaidForPeriod());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesDue()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesPaid()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesOutstanding()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getFeeChargesDue()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getFeeChargesPaid()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getFeeChargesOutstanding()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPrincipalDue()));
|
||||
assertEquals(1.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPrincipalPaid()));
|
||||
assertEquals(999.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPrincipalOutstanding()));
|
||||
assertEquals(1013.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalDueForPeriod()));
|
||||
assertEquals(999.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalOutstandingForPeriod()));
|
||||
assertEquals(14.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalPaidForPeriod()));
|
||||
|
||||
loanSummary = loanDetails.getSummary();
|
||||
assertEquals(10.0, loanSummary.getPenaltyChargesCharged());
|
||||
assertEquals(0.0, loanSummary.getPenaltyChargesOutstanding());
|
||||
assertEquals(10.0, loanSummary.getPenaltyChargesPaid());
|
||||
assertEquals(3.0, loanSummary.getFeeChargesCharged());
|
||||
assertEquals(0.0, loanSummary.getFeeChargesOutstanding());
|
||||
assertEquals(3.0, loanSummary.getFeeChargesPaid());
|
||||
assertEquals(999.0, loanSummary.getPrincipalOutstanding());
|
||||
assertEquals(1.0, loanSummary.getPrincipalPaid());
|
||||
assertEquals(14.0, loanSummary.getTotalRepayment());
|
||||
assertEquals(999.0, loanSummary.getTotalOutstanding());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesCharged()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesOutstanding()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesPaid()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSummary.getFeeChargesCharged()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSummary.getFeeChargesOutstanding()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSummary.getFeeChargesPaid()));
|
||||
assertEquals(999.0, Utils.getDoubleValue(loanSummary.getPrincipalOutstanding()));
|
||||
assertEquals(1.0, Utils.getDoubleValue(loanSummary.getPrincipalPaid()));
|
||||
assertEquals(14.0, Utils.getDoubleValue(loanSummary.getTotalRepayment()));
|
||||
assertEquals(999.0, Utils.getDoubleValue(loanSummary.getTotalOutstanding()));
|
||||
|
||||
transactions = loanDetails.getTransactions();
|
||||
assertEquals(7.0, transactions.get(6).getAmount());
|
||||
assertEquals(7.0, Utils.getDoubleValue(transactions.get(6).getAmount()));
|
||||
assertTrue(transactions.get(6).getType().getChargeAdjustment());
|
||||
assertEquals(3.0, transactions.get(6).getPenaltyChargesPortion());
|
||||
assertEquals(3.0, transactions.get(6).getFeeChargesPortion());
|
||||
assertEquals(1.0, transactions.get(6).getPrincipalPortion());
|
||||
assertEquals(3.0, Utils.getDoubleValue(transactions.get(6).getPenaltyChargesPortion()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(transactions.get(6).getFeeChargesPortion()));
|
||||
assertEquals(1.0, Utils.getDoubleValue(transactions.get(6).getPrincipalPortion()));
|
||||
chargeAdjustmentTransactionId = transactions.get(6).getId();
|
||||
|
||||
journalEntries = JOURNAL_ENTRY_HELPER.getJournalEntriesByTransactionId("L" + chargeAdjustmentTransactionId);
|
||||
@@ -5810,37 +5810,37 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanSchedulePeriods = loanDetails.getRepaymentSchedule().getPeriods();
|
||||
assertEquals(2, loanSchedulePeriods.size());
|
||||
assertEquals(10.0, loanSchedulePeriods.get(1).getPenaltyChargesDue());
|
||||
assertEquals(10.0, loanSchedulePeriods.get(1).getPenaltyChargesPaid());
|
||||
assertEquals(0.0, loanSchedulePeriods.get(1).getPenaltyChargesOutstanding());
|
||||
assertEquals(3.0, loanSchedulePeriods.get(1).getFeeChargesDue());
|
||||
assertEquals(3.0, loanSchedulePeriods.get(1).getFeeChargesPaid());
|
||||
assertEquals(0.0, loanSchedulePeriods.get(1).getFeeChargesOutstanding());
|
||||
assertEquals(1000.0, loanSchedulePeriods.get(1).getPrincipalDue());
|
||||
assertEquals(1000.0, loanSchedulePeriods.get(1).getPrincipalPaid());
|
||||
assertEquals(0.0, loanSchedulePeriods.get(1).getPrincipalOutstanding());
|
||||
assertEquals(1013.0, loanSchedulePeriods.get(1).getTotalDueForPeriod());
|
||||
assertEquals(0.0, loanSchedulePeriods.get(1).getTotalOutstandingForPeriod());
|
||||
assertEquals(1013.0, loanSchedulePeriods.get(1).getTotalPaidForPeriod());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesDue()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesPaid()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPenaltyChargesOutstanding()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getFeeChargesDue()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getFeeChargesPaid()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getFeeChargesOutstanding()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPrincipalDue()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPrincipalPaid()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getPrincipalOutstanding()));
|
||||
assertEquals(1013.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalDueForPeriod()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalOutstandingForPeriod()));
|
||||
assertEquals(1013.0, Utils.getDoubleValue(loanSchedulePeriods.get(1).getTotalPaidForPeriod()));
|
||||
|
||||
loanSummary = loanDetails.getSummary();
|
||||
assertEquals(10.0, loanSummary.getPenaltyChargesCharged());
|
||||
assertEquals(0.0, loanSummary.getPenaltyChargesOutstanding());
|
||||
assertEquals(10.0, loanSummary.getPenaltyChargesPaid());
|
||||
assertEquals(3.0, loanSummary.getFeeChargesCharged());
|
||||
assertEquals(0.0, loanSummary.getFeeChargesOutstanding());
|
||||
assertEquals(3.0, loanSummary.getFeeChargesPaid());
|
||||
assertEquals(0.0, loanSummary.getPrincipalOutstanding());
|
||||
assertEquals(1000.0, loanSummary.getPrincipalPaid());
|
||||
assertEquals(1013.0, loanSummary.getTotalRepayment());
|
||||
assertEquals(0.0, loanSummary.getTotalOutstanding());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesCharged()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesOutstanding()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanSummary.getPenaltyChargesPaid()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSummary.getFeeChargesCharged()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSummary.getFeeChargesOutstanding()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(loanSummary.getFeeChargesPaid()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSummary.getPrincipalOutstanding()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanSummary.getPrincipalPaid()));
|
||||
assertEquals(1013.0, Utils.getDoubleValue(loanSummary.getTotalRepayment()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanSummary.getTotalOutstanding()));
|
||||
|
||||
transactions = loanDetails.getTransactions();
|
||||
assertEquals(1.0, transactions.get(8).getAmount());
|
||||
assertEquals(1.0, Utils.getDoubleValue(transactions.get(8).getAmount()));
|
||||
assertTrue(transactions.get(8).getType().getChargeAdjustment());
|
||||
assertEquals(0.0, transactions.get(8).getPenaltyChargesPortion());
|
||||
assertEquals(0.0, transactions.get(8).getFeeChargesPortion());
|
||||
assertEquals(1.0, transactions.get(8).getPrincipalPortion());
|
||||
assertEquals(0.0, Utils.getDoubleValue(transactions.get(8).getPenaltyChargesPortion()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(transactions.get(8).getFeeChargesPortion()));
|
||||
assertEquals(1.0, Utils.getDoubleValue(transactions.get(8).getPrincipalPortion()));
|
||||
chargeAdjustmentTransactionId = transactions.get(8).getId();
|
||||
|
||||
journalEntries = JOURNAL_ENTRY_HELPER.getJournalEntriesByTransactionId("L" + chargeAdjustmentTransactionId);
|
||||
@@ -5860,12 +5860,12 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
|
||||
transactions = loanDetails.getTransactions();
|
||||
assertEquals(1.0, transactions.get(9).getAmount());
|
||||
assertEquals(1.0, Utils.getDoubleValue(transactions.get(9).getAmount()));
|
||||
assertTrue(transactions.get(9).getType().getChargeAdjustment());
|
||||
assertEquals(0.0, transactions.get(9).getPenaltyChargesPortion());
|
||||
assertEquals(0.0, transactions.get(9).getFeeChargesPortion());
|
||||
assertEquals(0.0, transactions.get(9).getPrincipalPortion());
|
||||
assertEquals(1.0, transactions.get(9).getOverpaymentPortion());
|
||||
assertEquals(0.0, Utils.getDoubleValue(transactions.get(9).getPenaltyChargesPortion()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(transactions.get(9).getFeeChargesPortion()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(transactions.get(9).getPrincipalPortion()));
|
||||
assertEquals(1.0, Utils.getDoubleValue(transactions.get(9).getOverpaymentPortion()));
|
||||
chargeAdjustmentTransactionId = transactions.get(9).getId();
|
||||
|
||||
journalEntries = JOURNAL_ENTRY_HELPER.getJournalEntriesByTransactionId("L" + chargeAdjustmentTransactionId);
|
||||
@@ -6227,7 +6227,7 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
GetLoansLoanIdResponse loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertEquals(2000.0, loanDetails.getSummary().getTotalOutstanding());
|
||||
assertEquals(2000.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
assertFalse(loanDetails.getChargedOff());
|
||||
assertNull(loanDetails.getSummary().getChargeOffReasonId());
|
||||
assertNull(loanDetails.getSummary().getChargeOffReason());
|
||||
@@ -6253,7 +6253,7 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertEquals(2003.0, loanDetails.getSummary().getTotalOutstanding());
|
||||
assertEquals(2003.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
assertTrue(loanDetails.getChargedOff());
|
||||
assertEquals((long) chargeOffReasonId, loanDetails.getSummary().getChargeOffReasonId());
|
||||
assertEquals(randomText, loanDetails.getSummary().getChargeOffReason());
|
||||
@@ -6264,9 +6264,9 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
GetLoansLoanIdTransactions chargeOffTransaction = loanDetails.getTransactions().get(loanDetails.getTransactions().size() - 1);
|
||||
|
||||
assertEquals(2003.0, chargeOffTransaction.getAmount());
|
||||
assertEquals(2000.0, chargeOffTransaction.getPrincipalPortion());
|
||||
assertEquals(3.0, chargeOffTransaction.getPenaltyChargesPortion());
|
||||
assertEquals(2003.0, Utils.getDoubleValue(chargeOffTransaction.getAmount()));
|
||||
assertEquals(2000.0, Utils.getDoubleValue(chargeOffTransaction.getPrincipalPortion()));
|
||||
assertEquals(3.0, Utils.getDoubleValue(chargeOffTransaction.getPenaltyChargesPortion()));
|
||||
|
||||
exception = assertThrows(CallFailedRuntimeException.class, () -> {
|
||||
errorLoanTransactionHelper.chargeOffLoan((long) loanID,
|
||||
@@ -6333,8 +6333,8 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
chargeOffTransaction = loanDetails.getTransactions().get(loanDetails.getTransactions().size() - 1);
|
||||
|
||||
assertEquals(1998.0, chargeOffTransaction.getAmount());
|
||||
assertEquals(1998.0, chargeOffTransaction.getPrincipalPortion());
|
||||
assertEquals(1998.0, Utils.getDoubleValue(chargeOffTransaction.getAmount()));
|
||||
assertEquals(1998.0, Utils.getDoubleValue(chargeOffTransaction.getPrincipalPortion()));
|
||||
|
||||
LOAN_TRANSACTION_HELPER.makeLoanRepayment((long) loanID, new PostLoansLoanIdTransactionsRequest().dateFormat(DATETIME_PATTERN)
|
||||
.transactionDate("07 September 2022").locale("en").transactionAmount(5.0));
|
||||
@@ -6531,23 +6531,23 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
GetLoansLoanIdResponse loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
|
||||
assertEquals(300.0, loanDetails.getTotalOverpaid());
|
||||
assertEquals(300.0, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getPrincipalPortion());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 4), loanDetails.getTransactions().get(1).getDate());
|
||||
|
||||
assertEquals(10.0, loanDetails.getTransactions().get(2).getAmount());
|
||||
assertEquals(10.0, loanDetails.getTransactions().get(2).getPrincipalPortion());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getAmount()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 5), loanDetails.getTransactions().get(2).getDate());
|
||||
|
||||
assertEquals(400.0, loanDetails.getTransactions().get(3).getAmount());
|
||||
assertEquals(400.0, loanDetails.getTransactions().get(3).getPrincipalPortion());
|
||||
assertEquals(400.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getAmount()));
|
||||
assertEquals(400.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 6), loanDetails.getTransactions().get(3).getDate());
|
||||
|
||||
assertEquals(390.0, loanDetails.getTransactions().get(4).getAmount());
|
||||
assertEquals(90.0, loanDetails.getTransactions().get(4).getPrincipalPortion());
|
||||
assertEquals(300.0, loanDetails.getTransactions().get(4).getOverpaymentPortion());
|
||||
assertEquals(390.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getAmount()));
|
||||
assertEquals(90.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getPrincipalPortion()));
|
||||
assertEquals(300.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getOverpaymentPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 7), loanDetails.getTransactions().get(4).getDate());
|
||||
|
||||
LOAN_TRANSACTION_HELPER.reverseLoanTransaction((long) loanID, loanDetails.getTransactions().get(2).getId(),
|
||||
@@ -6556,24 +6556,24 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
|
||||
assertEquals(290.0, loanDetails.getTotalOverpaid());
|
||||
assertEquals(290.0, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getPrincipalPortion());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 4), loanDetails.getTransactions().get(1).getDate());
|
||||
|
||||
assertEquals(10.0, loanDetails.getTransactions().get(2).getAmount());
|
||||
assertEquals(10.0, loanDetails.getTransactions().get(2).getPrincipalPortion());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getAmount()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 5), loanDetails.getTransactions().get(2).getDate());
|
||||
assertTrue(loanDetails.getTransactions().get(2).getManuallyReversed());
|
||||
|
||||
assertEquals(400.0, loanDetails.getTransactions().get(3).getAmount());
|
||||
assertEquals(400.0, loanDetails.getTransactions().get(3).getPrincipalPortion());
|
||||
assertEquals(400.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getAmount()));
|
||||
assertEquals(400.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 6), loanDetails.getTransactions().get(3).getDate());
|
||||
|
||||
assertEquals(390.0, loanDetails.getTransactions().get(4).getAmount());
|
||||
assertEquals(100.0, loanDetails.getTransactions().get(4).getPrincipalPortion());
|
||||
assertEquals(290.0, loanDetails.getTransactions().get(4).getOverpaymentPortion());
|
||||
assertEquals(390.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getAmount()));
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getPrincipalPortion()));
|
||||
assertEquals(290.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getOverpaymentPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 7), loanDetails.getTransactions().get(4).getDate());
|
||||
|
||||
LOAN_TRANSACTION_HELPER.reverseLoanTransaction((long) loanID, loanDetails.getTransactions().get(1).getId(),
|
||||
@@ -6582,53 +6582,53 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
|
||||
assertEquals(210.0, loanDetails.getSummary().getTotalOutstanding());
|
||||
assertEquals(210.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getPrincipalPortion());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 4), loanDetails.getTransactions().get(1).getDate());
|
||||
assertTrue(loanDetails.getTransactions().get(2).getManuallyReversed());
|
||||
|
||||
assertEquals(10.0, loanDetails.getTransactions().get(2).getAmount());
|
||||
assertEquals(10.0, loanDetails.getTransactions().get(2).getPrincipalPortion());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getAmount()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 5), loanDetails.getTransactions().get(2).getDate());
|
||||
assertTrue(loanDetails.getTransactions().get(2).getManuallyReversed());
|
||||
|
||||
assertEquals(400.0, loanDetails.getTransactions().get(3).getAmount());
|
||||
assertEquals(400.0, loanDetails.getTransactions().get(3).getPrincipalPortion());
|
||||
assertEquals(400.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getAmount()));
|
||||
assertEquals(400.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 6), loanDetails.getTransactions().get(3).getDate());
|
||||
|
||||
assertEquals(390.0, loanDetails.getTransactions().get(4).getAmount());
|
||||
assertEquals(390.0, loanDetails.getTransactions().get(4).getPrincipalPortion());
|
||||
assertEquals(390.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getAmount()));
|
||||
assertEquals(390.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 7), loanDetails.getTransactions().get(4).getDate());
|
||||
|
||||
LOAN_TRANSACTION_HELPER.makeRepayment("04 September 2022", Float.parseFloat("500"), loanID);
|
||||
|
||||
loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
|
||||
assertEquals(290.0, loanDetails.getTotalOverpaid());
|
||||
assertEquals(290.0, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getPrincipalPortion());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 4), loanDetails.getTransactions().get(1).getDate());
|
||||
assertTrue(loanDetails.getTransactions().get(1).getManuallyReversed());
|
||||
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(2).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(2).getPrincipalPortion());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 4), loanDetails.getTransactions().get(2).getDate());
|
||||
|
||||
assertEquals(10.0, loanDetails.getTransactions().get(3).getAmount());
|
||||
assertEquals(10.0, loanDetails.getTransactions().get(3).getPrincipalPortion());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getAmount()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 5), loanDetails.getTransactions().get(3).getDate());
|
||||
assertTrue(loanDetails.getTransactions().get(3).getManuallyReversed());
|
||||
|
||||
assertEquals(400.0, loanDetails.getTransactions().get(4).getAmount());
|
||||
assertEquals(400.0, loanDetails.getTransactions().get(4).getPrincipalPortion());
|
||||
assertEquals(400.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getAmount()));
|
||||
assertEquals(400.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 6), loanDetails.getTransactions().get(4).getDate());
|
||||
|
||||
assertEquals(390.0, loanDetails.getTransactions().get(5).getAmount());
|
||||
assertEquals(100.0, loanDetails.getTransactions().get(5).getPrincipalPortion());
|
||||
assertEquals(290.0, loanDetails.getTransactions().get(5).getOverpaymentPortion());
|
||||
assertEquals(390.0, Utils.getDoubleValue(loanDetails.getTransactions().get(5).getAmount()));
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getTransactions().get(5).getPrincipalPortion()));
|
||||
assertEquals(290.0, Utils.getDoubleValue(loanDetails.getTransactions().get(5).getOverpaymentPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 7), loanDetails.getTransactions().get(5).getDate());
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_AUTO_GENERATED_EXTERNAL_ID,
|
||||
@@ -6672,7 +6672,7 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
LOAN_TRANSACTION_HELPER.makeRepayment("05 September 2022", Float.parseFloat("1100"), loanID);
|
||||
|
||||
GetLoansLoanIdResponse loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
assertEquals(200.0, loanDetails.getTotalOverpaid());
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
assertTrue(loanDetails.getStatus().getOverpaid());
|
||||
|
||||
LOAN_TRANSACTION_HELPER.makeCreditBalanceRefund((long) loanID, new PostLoansLoanIdTransactionsRequest().transactionAmount(200.0)
|
||||
@@ -6682,21 +6682,21 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
assertTrue(loanDetails.getStatus().getClosedObligationsMet());
|
||||
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(1000, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalDue());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalDue()));
|
||||
|
||||
assertEquals(100.0, loanDetails.getTransactions().get(1).getAmount());
|
||||
assertEquals(100.0, loanDetails.getTransactions().get(1).getPrincipalPortion());
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getAmount()));
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 4), loanDetails.getTransactions().get(1).getDate());
|
||||
assertEquals(900.0, loanDetails.getTransactions().get(1).getOutstandingLoanBalance());
|
||||
assertEquals(1100.0, loanDetails.getTransactions().get(2).getAmount());
|
||||
assertEquals(900.0, loanDetails.getTransactions().get(2).getPrincipalPortion());
|
||||
assertEquals(200.0, loanDetails.getTransactions().get(2).getOverpaymentPortion());
|
||||
assertEquals(900.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getOutstandingLoanBalance()));
|
||||
assertEquals(1100.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getAmount()));
|
||||
assertEquals(900.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getPrincipalPortion()));
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getOverpaymentPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 5), loanDetails.getTransactions().get(2).getDate());
|
||||
assertEquals(0.0, loanDetails.getTransactions().get(2).getOutstandingLoanBalance());
|
||||
assertEquals(200.0, loanDetails.getTransactions().get(3).getAmount());
|
||||
assertEquals(200.0, loanDetails.getTransactions().get(3).getOverpaymentPortion());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getOutstandingLoanBalance()));
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getAmount()));
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getOverpaymentPortion()));
|
||||
assertEquals(LocalDate.of(2022, 10, 10), loanDetails.getTransactions().get(3).getDate());
|
||||
assertEquals(0.0, loanDetails.getTransactions().get(3).getOutstandingLoanBalance());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getOutstandingLoanBalance()));
|
||||
assertEquals(1L, loanDetails.getTransactions().get(3).getPaymentDetailData().getPaymentType().getId());
|
||||
GetJournalEntriesTransactionIdResponse journalEntriesForTransaction = JOURNAL_ENTRY_HELPER
|
||||
.getJournalEntries("L" + loanDetails.getTransactions().get(3).getId());
|
||||
@@ -6716,34 +6716,34 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
|
||||
assertEquals(100.0, loanDetails.getTransactions().get(1).getAmount());
|
||||
assertEquals(100.0, loanDetails.getTransactions().get(1).getPrincipalPortion());
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getAmount()));
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 4), loanDetails.getTransactions().get(1).getDate());
|
||||
assertTrue(loanDetails.getTransactions().get(1).getManuallyReversed());
|
||||
|
||||
assertEquals(1100.0, loanDetails.getTransactions().get(2).getAmount());
|
||||
assertEquals(1000.0, loanDetails.getTransactions().get(2).getPrincipalPortion());
|
||||
assertEquals(100.0, loanDetails.getTransactions().get(2).getOverpaymentPortion());
|
||||
assertEquals(1100.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getAmount()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getPrincipalPortion()));
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getOverpaymentPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 5), loanDetails.getTransactions().get(2).getDate());
|
||||
assertEquals(0.0, loanDetails.getTransactions().get(2).getOutstandingLoanBalance());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getOutstandingLoanBalance()));
|
||||
assertEquals(1, loanDetails.getTransactions().get(2).getTransactionRelations().size());
|
||||
|
||||
assertEquals(200.0, loanDetails.getTransactions().get(3).getAmount());
|
||||
assertEquals(100.0, loanDetails.getTransactions().get(3).getPrincipalPortion());
|
||||
assertEquals(100.0, loanDetails.getTransactions().get(3).getOverpaymentPortion());
|
||||
assertEquals(100.0, loanDetails.getTransactions().get(3).getOutstandingLoanBalance());
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getAmount()));
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getPrincipalPortion()));
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getOverpaymentPortion()));
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getOutstandingLoanBalance()));
|
||||
assertEquals(LocalDate.of(2022, 10, 10), loanDetails.getTransactions().get(3).getDate());
|
||||
assertEquals(1, loanDetails.getTransactions().get(3).getTransactionRelations().size());
|
||||
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(1000, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalDue());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalDue()));
|
||||
assertTrue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getComplete());
|
||||
assertEquals(200, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPrincipalDue());
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getPrincipalDue()));
|
||||
assertFalse(loanDetails.getRepaymentSchedule().getPeriods().get(2).getComplete());
|
||||
assertEquals(100.0, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPrincipalPaid());
|
||||
assertEquals(100.0, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPrincipalOutstanding());
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getPrincipalPaid()));
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getPrincipalOutstanding()));
|
||||
|
||||
journalEntriesForTransaction = JOURNAL_ENTRY_HELPER.getJournalEntries("L" + loanDetails.getTransactions().get(3).getId());
|
||||
journalItems = journalEntriesForTransaction.getPageItems();
|
||||
@@ -6808,7 +6808,7 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
LOAN_TRANSACTION_HELPER.makeRepayment("05 September 2022", Float.parseFloat("700"), loanID);
|
||||
|
||||
GetLoansLoanIdResponse loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
assertEquals(200.0, loanDetails.getTotalOverpaid());
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
assertTrue(loanDetails.getStatus().getOverpaid());
|
||||
|
||||
LOAN_TRANSACTION_HELPER.makeCreditBalanceRefund((long) loanID, new PostLoansLoanIdTransactionsRequest().transactionAmount(200.0)
|
||||
@@ -6824,33 +6824,33 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
assertTrue(loanDetails.getStatus().getClosedObligationsMet());
|
||||
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(1000, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalDue());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalDue()));
|
||||
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getPrincipalPortion());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 4), loanDetails.getTransactions().get(1).getDate());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getOutstandingLoanBalance());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getOutstandingLoanBalance()));
|
||||
|
||||
assertEquals(700.0, loanDetails.getTransactions().get(2).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(2).getPrincipalPortion());
|
||||
assertEquals(200.0, loanDetails.getTransactions().get(2).getOverpaymentPortion());
|
||||
assertEquals(700.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getPrincipalPortion()));
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getOverpaymentPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 5), loanDetails.getTransactions().get(2).getDate());
|
||||
assertEquals(0.0, loanDetails.getTransactions().get(2).getOutstandingLoanBalance());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getOutstandingLoanBalance()));
|
||||
|
||||
assertEquals(200.0, loanDetails.getTransactions().get(3).getAmount());
|
||||
assertEquals(200.0, loanDetails.getTransactions().get(3).getOverpaymentPortion());
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getAmount()));
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getOverpaymentPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 6), loanDetails.getTransactions().get(3).getDate());
|
||||
assertEquals(0.0, loanDetails.getTransactions().get(3).getOutstandingLoanBalance());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getOutstandingLoanBalance()));
|
||||
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(4).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(4).getOverpaymentPortion());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getOverpaymentPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 7), loanDetails.getTransactions().get(4).getDate());
|
||||
assertEquals(0.0, loanDetails.getTransactions().get(4).getOutstandingLoanBalance());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getOutstandingLoanBalance()));
|
||||
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(5).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(5).getOverpaymentPortion());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(5).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(5).getOverpaymentPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 8), loanDetails.getTransactions().get(5).getDate());
|
||||
assertEquals(0.0, loanDetails.getTransactions().get(5).getOutstandingLoanBalance());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getTransactions().get(5).getOutstandingLoanBalance()));
|
||||
|
||||
LOAN_TRANSACTION_HELPER.reverseLoanTransaction(loanDetails.getId(), loanDetails.getTransactions().get(2).getId(),
|
||||
new PostLoansLoanIdTransactionsTransactionIdRequest().dateFormat(DATETIME_PATTERN).transactionAmount(0.0)
|
||||
@@ -6858,43 +6858,43 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
loanDetails = LOAN_TRANSACTION_HELPER.getLoanDetails((long) loanID);
|
||||
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getPrincipalPortion());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 4), loanDetails.getTransactions().get(1).getDate());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(1).getOutstandingLoanBalance());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(1).getOutstandingLoanBalance()));
|
||||
|
||||
assertEquals(700.0, loanDetails.getTransactions().get(2).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(2).getPrincipalPortion());
|
||||
assertEquals(200.0, loanDetails.getTransactions().get(2).getOverpaymentPortion());
|
||||
assertEquals(700.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getPrincipalPortion()));
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getOverpaymentPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 5), loanDetails.getTransactions().get(2).getDate());
|
||||
assertEquals(0.0, loanDetails.getTransactions().get(2).getOutstandingLoanBalance());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getTransactions().get(2).getOutstandingLoanBalance()));
|
||||
assertTrue(loanDetails.getTransactions().get(2).getManuallyReversed());
|
||||
|
||||
assertEquals(200.0, loanDetails.getTransactions().get(3).getAmount());
|
||||
assertEquals(200.0, loanDetails.getTransactions().get(3).getPrincipalPortion());
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getAmount()));
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 6), loanDetails.getTransactions().get(3).getDate());
|
||||
assertEquals(700.0, loanDetails.getTransactions().get(3).getOutstandingLoanBalance());
|
||||
assertEquals(700.0, Utils.getDoubleValue(loanDetails.getTransactions().get(3).getOutstandingLoanBalance()));
|
||||
assertEquals(1, loanDetails.getTransactions().get(3).getTransactionRelations().size());
|
||||
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(4).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(4).getPrincipalPortion());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 7), loanDetails.getTransactions().get(4).getDate());
|
||||
assertEquals(200.0, loanDetails.getTransactions().get(4).getOutstandingLoanBalance());
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTransactions().get(4).getOutstandingLoanBalance()));
|
||||
assertEquals(1, loanDetails.getTransactions().get(4).getTransactionRelations().size());
|
||||
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(5).getAmount());
|
||||
assertEquals(500.0, loanDetails.getTransactions().get(5).getPrincipalPortion());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(5).getAmount()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getTransactions().get(5).getPrincipalPortion()));
|
||||
assertEquals(LocalDate.of(2022, 9, 8), loanDetails.getTransactions().get(5).getDate());
|
||||
assertEquals(700.0, loanDetails.getTransactions().get(5).getOutstandingLoanBalance());
|
||||
assertEquals(700.0, Utils.getDoubleValue(loanDetails.getTransactions().get(5).getOutstandingLoanBalance()));
|
||||
assertEquals(1, loanDetails.getTransactions().get(5).getTransactionRelations().size());
|
||||
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(1700, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalDue());
|
||||
assertEquals(1700.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalDue()));
|
||||
assertFalse(loanDetails.getRepaymentSchedule().getPeriods().get(1).getComplete());
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalPaid());
|
||||
assertEquals(700.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalOutstanding());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalPaid()));
|
||||
assertEquals(700.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalOutstanding()));
|
||||
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_AUTO_GENERATED_EXTERNAL_ID,
|
||||
@@ -6961,9 +6961,9 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
GetLoansLoanIdTransactions lastAccrualTransaction = loanDetails.getTransactions().stream()
|
||||
.filter(t -> Boolean.TRUE.equals(t.getType().getAccrual())).findFirst().get();
|
||||
assertEquals(15, lastAccrualTransaction.getAmount());
|
||||
assertEquals(5, lastAccrualTransaction.getPenaltyChargesPortion());
|
||||
assertEquals(10, lastAccrualTransaction.getFeeChargesPortion());
|
||||
assertEquals(15.0, Utils.getDoubleValue(lastAccrualTransaction.getAmount()));
|
||||
assertEquals(5.0, Utils.getDoubleValue(lastAccrualTransaction.getPenaltyChargesPortion()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(lastAccrualTransaction.getFeeChargesPortion()));
|
||||
|
||||
GetLoansLoanIdTransactionsTransactionIdResponse accrualTransactionDetails = LOAN_TRANSACTION_HELPER
|
||||
.getLoanTransactionDetails((long) loanID, lastAccrualTransaction.getId());
|
||||
@@ -6971,9 +6971,9 @@ public class ClientLoanIntegrationTest extends BaseLoanIntegrationTest {
|
||||
assertEquals(2, accrualTransactionDetails.getLoanChargePaidByList().size());
|
||||
accrualTransactionDetails.getLoanChargePaidByList().forEach(loanCharge -> {
|
||||
if (loanCharge.getChargeId().equals((long) penalty1LoanChargeId)) {
|
||||
assertEquals(5, loanCharge.getAmount());
|
||||
assertEquals(5.0, Utils.getDoubleValue(loanCharge.getAmount()));
|
||||
} else {
|
||||
assertEquals(10, loanCharge.getAmount());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanCharge.getAmount()));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
+5
-5
@@ -1269,7 +1269,7 @@ public class DelinquencyBucketsIntegrationTest extends BaseLoanIntegrationTest {
|
||||
getLoansLoanIdResponse = loanTransactionHelper.getLoan(requestSpec, responseSpec, loanId);
|
||||
loanTransactionHelper.printDelinquencyData(getLoansLoanIdResponse);
|
||||
delinquent = getLoansLoanIdResponse.getDelinquent();
|
||||
assertEquals(amount, delinquent.getDelinquentAmount());
|
||||
assertEquals(amount, Utils.getDoubleValue(delinquent.getDelinquentAmount()));
|
||||
assertEquals(LocalDate.parse(date, dateTimeFormatter), delinquent.getDelinquentDate());
|
||||
assertEquals(delinquentDays, delinquent.getDelinquentDays());
|
||||
}
|
||||
@@ -1344,7 +1344,7 @@ public class DelinquencyBucketsIntegrationTest extends BaseLoanIntegrationTest {
|
||||
getLoansLoanIdResponse = loanTransactionHelper.getLoan(requestSpec, responseSpec, loanId);
|
||||
loanTransactionHelper.printDelinquencyData(getLoansLoanIdResponse);
|
||||
GetLoansLoanIdDelinquencySummary delinquent = getLoansLoanIdResponse.getDelinquent();
|
||||
assertEquals(2049.99, delinquent.getDelinquentAmount());
|
||||
assertEquals(2049.99, Utils.getDoubleValue(delinquent.getDelinquentAmount()));
|
||||
assertEquals(LocalDate.of(2012, 2, 1), delinquent.getDelinquentDate());
|
||||
assertEquals(31, delinquent.getDelinquentDays());
|
||||
assertEquals(2, delinquent.getInstallmentLevelDelinquency().size());
|
||||
@@ -1395,7 +1395,7 @@ public class DelinquencyBucketsIntegrationTest extends BaseLoanIntegrationTest {
|
||||
assertNotNull(getLoansLoanIdResponse);
|
||||
assertNotNull(getLoansLoanIdResponse.getDelinquent());
|
||||
assertEquals(0, getLoansLoanIdResponse.getDelinquent().getDelinquentDays());
|
||||
assertEquals(0, getLoansLoanIdResponse.getDelinquent().getDelinquentAmount());
|
||||
assertEquals(0.0, Utils.getDoubleValue(getLoansLoanIdResponse.getDelinquent().getDelinquentAmount()));
|
||||
|
||||
// Loan Disbursement
|
||||
disburseLoanAccount(loanTransactionHelper, loanId, operationDate);
|
||||
@@ -1404,7 +1404,7 @@ public class DelinquencyBucketsIntegrationTest extends BaseLoanIntegrationTest {
|
||||
assertNotNull(getLoansLoanIdResponse);
|
||||
assertNotNull(getLoansLoanIdResponse.getDelinquent());
|
||||
assertNotEquals(0, getLoansLoanIdResponse.getDelinquent().getDelinquentDays());
|
||||
assertNotEquals(0, getLoansLoanIdResponse.getDelinquent().getDelinquentAmount());
|
||||
assertNotEquals(0, Utils.getDoubleValue(getLoansLoanIdResponse.getDelinquent().getDelinquentAmount()));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1459,7 +1459,7 @@ public class DelinquencyBucketsIntegrationTest extends BaseLoanIntegrationTest {
|
||||
assertNotNull(getLoansLoanIdResponse);
|
||||
assertNotNull(delinquent);
|
||||
assertEquals(0, delinquent.getDelinquentDays());
|
||||
assertEquals(0, delinquent.getDelinquentAmount());
|
||||
assertEquals(0.0, Utils.getDoubleValue(delinquent.getDelinquentAmount()));
|
||||
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
|
||||
+621
-621
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -875,8 +875,8 @@ public class ExternalIdSupportIntegrationTest extends BaseLoanIntegrationTest {
|
||||
|
||||
GetLoansApprovalTemplateResponse loanApprovalResult = this.loanTransactionHelper.getLoanApprovalTemplate(loanExternalIdStr);
|
||||
assertEquals(actualDate, loanApprovalResult.getApprovalDate());
|
||||
assertEquals(1000.0, loanApprovalResult.getApprovalAmount());
|
||||
assertEquals(1000.0, loanApprovalResult.getNetDisbursalAmount());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanApprovalResult.getApprovalAmount()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanApprovalResult.getNetDisbursalAmount()));
|
||||
assertNotNull(loanApprovalResult.getCurrency());
|
||||
assertNotNull(loanApprovalResult.getCurrency().getCode());
|
||||
assertEquals("USD", loanApprovalResult.getCurrency().getCode());
|
||||
|
||||
+4
-4
@@ -129,16 +129,16 @@ public class LoanAccountArrearsAgeingCOBBusinessStepTest extends BaseLoanIntegra
|
||||
GetLoansLoanIdSummary loan1Summary = loan1Details.getSummary();
|
||||
assertNotNull(loan1Summary);
|
||||
assertNotNull(loan1Summary.getOverdueSinceDate());
|
||||
assertEquals(loan1Summary.getPrincipalOverdue(), 1000.00);
|
||||
assertEquals(loan1Summary.getTotalOverdue(), 1000.00);
|
||||
assertEquals(1000.00, Utils.getDoubleValue(loan1Summary.getPrincipalOverdue()));
|
||||
assertEquals(1000.00, Utils.getDoubleValue(loan1Summary.getTotalOverdue()));
|
||||
|
||||
// Retrieve Loan 2 with loanId
|
||||
GetLoansLoanIdResponse loan2Details = loanTransactionHelper.getLoanDetails((long) loanId_2);
|
||||
GetLoansLoanIdSummary loan2Summary = loan2Details.getSummary();
|
||||
assertNotNull(loan2Summary);
|
||||
assertNotNull(loan2Summary.getOverdueSinceDate());
|
||||
assertEquals(loan2Summary.getPrincipalOverdue(), 1000.00);
|
||||
assertEquals(loan2Summary.getTotalOverdue(), 1000.00);
|
||||
assertEquals(1000.00, Utils.getDoubleValue(loan2Summary.getPrincipalOverdue()));
|
||||
assertEquals(1000.00, Utils.getDoubleValue(loan2Summary.getTotalOverdue()));
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
new PutGlobalConfigurationsRequest().enabled(false));
|
||||
|
||||
+174
-103
@@ -115,31 +115,35 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
|
||||
// verify schedule is according to expected disbursement date
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// fourth installment
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
// first disbursement on a future date (7 March 2023)
|
||||
|
||||
businessDate = LocalDate.of(2023, 3, 7);
|
||||
@@ -155,31 +159,35 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(500.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
|
||||
// first installment down payment repayment
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// fourth installment
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// make repayment on 7 March to pay down payment installment
|
||||
final PostLoansLoanIdTransactionsResponse repaymentTransaction_1 = loanTransactionHelper.makeLoanRepayment(loanExternalIdStr,
|
||||
@@ -192,35 +200,39 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(500.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(375.0, loanDetails.getRepaymentSchedule().getTotalOutstanding());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
assertEquals(375.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalOutstanding()));
|
||||
|
||||
// first installment down payment repayment
|
||||
// check down payment installment gets paid
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(125.00, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(1).getComplete());
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// fourth installment
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// set business date
|
||||
|
||||
@@ -240,44 +252,49 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(875.0, loanDetails.getRepaymentSchedule().getTotalOutstanding());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
assertEquals(875.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalOutstanding()));
|
||||
|
||||
// first installment down payment repayment for 5 March disbursal
|
||||
// check down payment installment gets paid
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 5), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 5), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(125.00, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(1).getComplete());
|
||||
|
||||
// second installment down payment repayment for 7 March disbursal
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(3).getComplete());
|
||||
|
||||
// third installment [5 March 2023 - 5 April 2023]
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 5), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 5), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(250.00, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(4).getComplete());
|
||||
|
||||
// fourth installment [5 April 2023 - 5 May 2023]
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(5).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 5), loanDetails.getRepaymentSchedule().getPeriods().get(5).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 5), loanDetails.getRepaymentSchedule().getPeriods().get(5).getDueDate());
|
||||
assertEquals(250.00, loanDetails.getRepaymentSchedule().getPeriods().get(5).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(5).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(5).getComplete());
|
||||
|
||||
// fifth installment [5 May 2023 - 5 June 2023]
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().get(6).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 5), loanDetails.getRepaymentSchedule().getPeriods().get(6).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 5), loanDetails.getRepaymentSchedule().getPeriods().get(6).getDueDate());
|
||||
assertEquals(250.00, loanDetails.getRepaymentSchedule().getPeriods().get(6).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(6).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(6).getComplete());
|
||||
|
||||
} finally {
|
||||
@@ -339,31 +356,35 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
|
||||
// verify schedule is according to expected disbursement date
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 3), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// fourth installment
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 3), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// first disbursement on a future date (7 March 2023)
|
||||
|
||||
@@ -380,31 +401,35 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(500.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
|
||||
// first installment down payment repayment for 7 March disbursal
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second installment [3 March 2023 - 3 April 2023]
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 3), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment [3 April 2023 - 3 May 2023]
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// fourth installment [3 May 2023 - 3 June 2023]
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 3), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// make repayment on 7 March to pay downpayment insatllment
|
||||
final PostLoansLoanIdTransactionsResponse repaymentTransaction_1 = loanTransactionHelper.makeLoanRepayment(loanExternalIdStr,
|
||||
@@ -421,27 +446,31 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(125.00, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(1).getComplete());
|
||||
|
||||
// second installment [3 March 2023 - 3 April 2023]
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 3), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment [3 April 2023 - 3 May 2023]
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// fourth installment [3 May 2023 - 3 June 2023]
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 3), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
businessDate = LocalDate.of(2023, 3, 8);
|
||||
|
||||
@@ -462,36 +491,41 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 5), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 5), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(125.00, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(1).getComplete());
|
||||
|
||||
// second installment down payment repayment for 7 March disbursal
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(3).getComplete());
|
||||
|
||||
// third installment [3 March 2023 - 3 April 2023]
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 3), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(250.00, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(4).getComplete());
|
||||
|
||||
// fourth installment [3 April 2023 - 3 May 2023]
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(5).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(5).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(5).getDueDate());
|
||||
assertEquals(250.00, loanDetails.getRepaymentSchedule().getPeriods().get(5).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(5).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(5).getComplete());
|
||||
|
||||
// fifth installment [3 May 2023 - 3 June 2023]
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().get(6).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(6).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 3), loanDetails.getRepaymentSchedule().getPeriods().get(6).getDueDate());
|
||||
assertEquals(250.00, loanDetails.getRepaymentSchedule().getPeriods().get(6).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(6).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(6).getComplete());
|
||||
|
||||
} finally {
|
||||
@@ -553,31 +587,35 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
|
||||
// verify schedule is according to expected disbursement date
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// fourth installment
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// first disbursement on a future date (7 March 2023)
|
||||
|
||||
@@ -594,31 +632,35 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(500.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
|
||||
// first installment down payment repayment
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// fourth installment
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// make repayment on 7 March to pay downpayment insatllment
|
||||
final PostLoansLoanIdTransactionsResponse repaymentTransaction_1 = loanTransactionHelper.makeLoanRepayment(loanExternalIdStr,
|
||||
@@ -632,35 +674,39 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
|
||||
// check down payment installment gets paid
|
||||
|
||||
assertEquals(500.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(375.0, loanDetails.getRepaymentSchedule().getTotalOutstanding());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
assertEquals(375.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalOutstanding()));
|
||||
|
||||
// first installment down payment repayment
|
||||
// check down payment installment gets paid
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(125.00, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(1).getComplete());
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// fourth installment
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// set business date to next repayment due business date
|
||||
businessDate = LocalDate.of(2023, 4, 7);
|
||||
@@ -677,36 +723,40 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails);
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getTotalOutstanding());
|
||||
assertEquals(250.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalOutstanding()));
|
||||
|
||||
// first installment down payment repayment
|
||||
// check down payment installment gets paid
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(125.00, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(1).getComplete());
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalPaidForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(125.00, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalPaidForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(2).getComplete());
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// fourth installment
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// make backdate disbursement for 5 march with business date 7 April
|
||||
|
||||
@@ -720,44 +770,49 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify transactions get reprocessed and installments paid accordingly
|
||||
assertEquals(750.0, loanDetails.getRepaymentSchedule().getTotalOutstanding());
|
||||
assertEquals(750.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalOutstanding()));
|
||||
|
||||
// first installment down payment repayment for 5 March disbursal
|
||||
// check down payment installment gets paid
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 5), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 5), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(125.00, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(1).getComplete());
|
||||
|
||||
// second installment down payment repayment for 7 March disbursal
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(125.00, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalPaidForPeriod());
|
||||
assertEquals(125.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(125.00, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalPaidForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(3).getComplete());
|
||||
|
||||
// third installment [5 March 2023 - 5 April 2023]
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 5), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 5), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(250.00, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(4).getComplete());
|
||||
|
||||
// fourth installment [5 April 2023 - 5 May 2023]
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(5).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 5), loanDetails.getRepaymentSchedule().getPeriods().get(5).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 5), loanDetails.getRepaymentSchedule().getPeriods().get(5).getDueDate());
|
||||
assertEquals(250.00, loanDetails.getRepaymentSchedule().getPeriods().get(5).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(5).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(5).getComplete());
|
||||
|
||||
// fifth installment [5 May 2023 - 5 June 2023]
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().get(6).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 5), loanDetails.getRepaymentSchedule().getPeriods().get(6).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 5), loanDetails.getRepaymentSchedule().getPeriods().get(6).getDueDate());
|
||||
assertEquals(250.00, loanDetails.getRepaymentSchedule().getPeriods().get(6).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(6).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(6).getComplete());
|
||||
|
||||
} finally {
|
||||
@@ -817,30 +872,34 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
// verify schedule is according to expected disbursement date
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// fourth installment
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
// first disbursement on a future date (7 March 2023)
|
||||
businessDate = LocalDate.of(2023, 3, 7);
|
||||
BusinessDateHelper.updateBusinessDate(requestSpec, responseSpec, BusinessDateType.BUSINESS_DATE, businessDate);
|
||||
@@ -920,26 +979,29 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
|
||||
// verify schedule is according to expected disbursement date
|
||||
// first installment
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(333.33, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.33,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(333.33, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.33,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(333.34, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.34,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
// first disbursement on a future date (7 March 2023)
|
||||
|
||||
businessDate = LocalDate.of(2023, 3, 7);
|
||||
@@ -955,7 +1017,7 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(500.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
|
||||
// disbursement period
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(0).getDueDate());
|
||||
@@ -964,19 +1026,22 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(166.67, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.67,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(166.67, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.67,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(166.66, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.66,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// make repayment on 7 March to pay installment
|
||||
final PostLoansLoanIdTransactionsResponse repaymentTransaction_1 = loanTransactionHelper.makeLoanRepayment(loanExternalIdStr,
|
||||
@@ -989,29 +1054,32 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(500.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(333.33, loanDetails.getRepaymentSchedule().getTotalOutstanding());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
assertEquals(333.33, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalOutstanding()));
|
||||
|
||||
// first installment
|
||||
// check installment gets paid
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(166.67, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.67, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod());
|
||||
assertEquals(166.67,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(166.67, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalPaidForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(1).getComplete());
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(166.67, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.67,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(166.66, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.66,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
// set business date
|
||||
|
||||
businessDate = LocalDate.of(2023, 3, 8);
|
||||
@@ -1030,8 +1098,8 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(833.33, loanDetails.getRepaymentSchedule().getTotalOutstanding());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
assertEquals(833.33, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalOutstanding()));
|
||||
|
||||
// verify disbursement period order
|
||||
assertEquals(LocalDate.of(2023, 3, 5), loanDetails.getRepaymentSchedule().getPeriods().get(0).getDueDate());
|
||||
@@ -1042,22 +1110,25 @@ public class LoanAccountBackdatedDisbursementTest extends BaseLoanIntegrationTes
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 5), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 5), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(333.33, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.67, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalPaidForPeriod());
|
||||
assertEquals(333.33,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(166.67, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalPaidForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(2).getComplete());
|
||||
|
||||
// second installment
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 5), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 5), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(333.33, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.33,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(3).getComplete());
|
||||
|
||||
// third installment
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 5), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 5), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(333.34, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.34,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(4).getComplete());
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
|
||||
+19
-16
@@ -169,10 +169,11 @@ public class LoanAccountChargeReveseReplayWithAdvancedPaymentAllocationTest exte
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
assertNotNull(loanDetails.getRepaymentSchedule().getPeriods());
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(20.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPenaltyChargesOutstanding());
|
||||
assertEquals(10.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getFeeChargesOutstanding());
|
||||
assertEquals(900.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalOutstanding());
|
||||
assertEquals(930.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalOutstandingForPeriod());
|
||||
assertEquals(20.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPenaltyChargesOutstanding()));
|
||||
assertEquals(10.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getFeeChargesOutstanding()));
|
||||
assertEquals(900.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalOutstanding()));
|
||||
assertEquals(930.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalOutstandingForPeriod()));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -212,10 +213,11 @@ public class LoanAccountChargeReveseReplayWithAdvancedPaymentAllocationTest exte
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
assertNotNull(loanDetails.getRepaymentSchedule().getPeriods());
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(0.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPenaltyChargesOutstanding());
|
||||
assertEquals(0.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getFeeChargesOutstanding());
|
||||
assertEquals(930.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalOutstanding());
|
||||
assertEquals(930.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalOutstandingForPeriod());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPenaltyChargesOutstanding()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getFeeChargesOutstanding()));
|
||||
assertEquals(930.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalOutstanding()));
|
||||
assertEquals(930.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalOutstandingForPeriod()));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -257,10 +259,11 @@ public class LoanAccountChargeReveseReplayWithAdvancedPaymentAllocationTest exte
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
assertNotNull(loanDetails.getRepaymentSchedule().getPeriods());
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(0.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPenaltyChargesOutstanding());
|
||||
assertEquals(0.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getFeeChargesOutstanding());
|
||||
assertEquals(930.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalOutstanding());
|
||||
assertEquals(930.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalOutstandingForPeriod());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPenaltyChargesOutstanding()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getFeeChargesOutstanding()));
|
||||
assertEquals(930.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalOutstanding()));
|
||||
assertEquals(930.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalOutstandingForPeriod()));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -308,10 +311,10 @@ public class LoanAccountChargeReveseReplayWithAdvancedPaymentAllocationTest exte
|
||||
assertNotNull(loanDetails.getRepaymentSchedule());
|
||||
assertNotNull(loanDetails.getRepaymentSchedule().getPeriods());
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(0.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPenaltyChargesOutstanding());
|
||||
assertEquals(0.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getFeeChargesOutstanding());
|
||||
assertEquals(0.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalOutstanding());
|
||||
assertEquals(0.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalOutstandingForPeriod());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPenaltyChargesOutstanding()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getFeeChargesOutstanding()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getPrincipalOutstanding()));
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalOutstandingForPeriod()));
|
||||
|
||||
// adding an extra charge after maturity
|
||||
updateBusinessDate("11 October 2022");
|
||||
|
||||
+9
-9
@@ -817,7 +817,7 @@ public class LoanAccountPaymentAllocationWithOverlappingDownPaymentInstallmentTe
|
||||
|
||||
private void verifyDisbursementPeriod(GetLoansLoanIdRepaymentPeriod period, LocalDate disbursementDate, double disbursedAmount) {
|
||||
assertEquals(disbursementDate, period.getDueDate());
|
||||
assertEquals(disbursedAmount, period.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(disbursedAmount, Utils.getDoubleValue(period.getPrincipalLoanBalanceOutstanding()));
|
||||
}
|
||||
|
||||
private void verifyPeriodDetails(GetLoansLoanIdRepaymentPeriod period, Integer periodNumber, double periodAmount,
|
||||
@@ -826,14 +826,14 @@ public class LoanAccountPaymentAllocationWithOverlappingDownPaymentInstallmentTe
|
||||
assertEquals(periodNumber, period.getPeriod());
|
||||
assertEquals(periodFromDate, period.getFromDate());
|
||||
assertEquals(periodDueDate, period.getDueDate());
|
||||
assertEquals(periodAmount, period.getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(periodAmountPaid, period.getTotalPaidForPeriod());
|
||||
assertEquals(principalPaid, period.getPrincipalPaid());
|
||||
assertEquals(outstandingAmount, period.getTotalOutstandingForPeriod());
|
||||
assertEquals(feeDue, period.getFeeChargesDue());
|
||||
assertEquals(feePaid, period.getFeeChargesPaid());
|
||||
assertEquals(penaltyDue, period.getPenaltyChargesDue());
|
||||
assertEquals(penaltyPaid, period.getPenaltyChargesPaid());
|
||||
assertEquals(periodAmount, Utils.getDoubleValue(period.getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(periodAmountPaid, Utils.getDoubleValue(period.getTotalPaidForPeriod()));
|
||||
assertEquals(principalPaid, Utils.getDoubleValue(period.getPrincipalPaid()));
|
||||
assertEquals(outstandingAmount, Utils.getDoubleValue(period.getTotalOutstandingForPeriod()));
|
||||
assertEquals(feeDue, Utils.getDoubleValue(period.getFeeChargesDue()));
|
||||
assertEquals(feePaid, Utils.getDoubleValue(period.getFeeChargesPaid()));
|
||||
assertEquals(penaltyDue, Utils.getDoubleValue(period.getPenaltyChargesDue()));
|
||||
assertEquals(penaltyPaid, Utils.getDoubleValue(period.getPenaltyChargesPaid()));
|
||||
assertEquals(isComplete, period.getComplete());
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -416,7 +416,7 @@ public class LoanAccountRepaymentCalculationTest extends BaseLoanIntegrationTest
|
||||
assertEquals(expectedPeriodNumber, period.getPeriod());
|
||||
assertEquals(expectedPeriodFromDate, period.getFromDate());
|
||||
assertEquals(expectedPeriodDueDate, period.getDueDate());
|
||||
assertEquals(expectedAmount, period.getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(expectedAmount, Utils.getDoubleValue(period.getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(isComplete, period.getComplete());
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -78,7 +78,7 @@ public class LoanCapitalizedIncomeTest extends BaseLoanIntegrationTest {
|
||||
transaction(100.0, "Disbursement", "01 January 2024"), //
|
||||
transaction(50.0, "Capitalized Income", "01 January 2024"), //
|
||||
transaction(0.55, "Capitalized Income Amortization", "01 January 2024"), //
|
||||
transaction(0.03, "Accrual", "02 January 2024"), //
|
||||
transaction(0.02, "Accrual", "02 January 2024"), //
|
||||
transaction(0.55, "Capitalized Income Amortization", "02 January 2024") //
|
||||
);
|
||||
|
||||
@@ -89,8 +89,8 @@ public class LoanCapitalizedIncomeTest extends BaseLoanIntegrationTest {
|
||||
journalEntry(50, deferredIncomeLiabilityAccount, "CREDIT"), //
|
||||
journalEntry(0.55, deferredIncomeLiabilityAccount, "DEBIT"), //
|
||||
journalEntry(0.55, feeIncomeAccount, "CREDIT"), //
|
||||
journalEntry(0.03, interestReceivableAccount, "DEBIT"), //
|
||||
journalEntry(0.03, interestIncomeAccount, "CREDIT"), //
|
||||
journalEntry(0.02, interestReceivableAccount, "DEBIT"), //
|
||||
journalEntry(0.02, interestIncomeAccount, "CREDIT"), //
|
||||
journalEntry(0.55, deferredIncomeLiabilityAccount, "DEBIT"), //
|
||||
journalEntry(0.55, feeIncomeAccount, "CREDIT") //
|
||||
);
|
||||
|
||||
+18
-12
@@ -212,24 +212,30 @@ public class LoanChargePaymentWithAdvancedPaymentAllocationTest extends BaseLoan
|
||||
GetLoansLoanIdResponse loanDetails = loanTransactionHelper.getLoanDetails((long) loanId);
|
||||
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(feePortion, loanDetails.getRepaymentSchedule().getPeriods().get(2).getFeeChargesDue());
|
||||
assertEquals(feePortion, loanDetails.getRepaymentSchedule().getPeriods().get(2).getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPenaltyChargesDue());
|
||||
assertEquals(penaltyPortion, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPenaltyChargesOutstanding());
|
||||
assertEquals(400.0d, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalDueForPeriod());
|
||||
assertEquals(400.0d, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getFeeChargesDue()));
|
||||
assertEquals(feePortion,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getPenaltyChargesDue()));
|
||||
assertEquals(penaltyPortion,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getPenaltyChargesOutstanding()));
|
||||
assertEquals(400.0d, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalDueForPeriod()));
|
||||
assertEquals(400.0d,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 1, 16), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
|
||||
scheduleJobHelper.executeAndAwaitJob(jobName);
|
||||
|
||||
loanDetails = loanTransactionHelper.getLoanDetails((long) loanId);
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(feePortion, loanDetails.getRepaymentSchedule().getPeriods().get(2).getFeeChargesDue());
|
||||
assertEquals(0.0d, loanDetails.getRepaymentSchedule().getPeriods().get(2).getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPenaltyChargesDue());
|
||||
assertEquals(0.0d, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPenaltyChargesOutstanding());
|
||||
assertEquals(400.0d, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalDueForPeriod());
|
||||
assertEquals(250.0d, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getFeeChargesDue()));
|
||||
assertEquals(0.0d, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getPenaltyChargesDue()));
|
||||
assertEquals(0.0d, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getPenaltyChargesOutstanding()));
|
||||
assertEquals(400.0d, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalDueForPeriod()));
|
||||
assertEquals(250.0d,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 1, 16), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
|
||||
+7
-7
@@ -113,7 +113,7 @@ public class LoanChargebackOnPaymentTypeRepaymentTransactionsTest {
|
||||
assertNotNull(loanDetails);
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertNotNull(loanDetails.getSummary());
|
||||
assertEquals(loanDetails.getSummary().getTotalOutstanding(), 500.0);
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
|
||||
// chargeback on Repayment
|
||||
PostLoansLoanIdTransactionsResponse chargebackTransactionResponse = loanTransactionHelper.chargebackLoanTransaction(
|
||||
@@ -128,7 +128,7 @@ public class LoanChargebackOnPaymentTypeRepaymentTransactionsTest {
|
||||
assertNotNull(loanDetails);
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertNotNull(loanDetails.getSummary());
|
||||
assertEquals(loanDetails.getSummary().getTotalOutstanding(), 1000.0);
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
|
||||
// Goodwill Credit
|
||||
final PostLoansLoanIdTransactionsResponse goodwillCredit_1 = loanTransactionHelper.makeGoodwillCredit((long) loanId,
|
||||
@@ -142,7 +142,7 @@ public class LoanChargebackOnPaymentTypeRepaymentTransactionsTest {
|
||||
assertNotNull(loanDetails);
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertNotNull(loanDetails.getSummary());
|
||||
assertEquals(loanDetails.getSummary().getTotalOutstanding(), 800.0);
|
||||
assertEquals(800.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
|
||||
// chargeback on Goodwill Credit Transaction
|
||||
chargebackTransactionResponse = loanTransactionHelper.chargebackLoanTransaction(loanExternalIdStr, goodwillCredit_1.getResourceId(),
|
||||
@@ -166,7 +166,7 @@ public class LoanChargebackOnPaymentTypeRepaymentTransactionsTest {
|
||||
assertNotNull(loanDetails);
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertNotNull(loanDetails.getSummary());
|
||||
assertEquals(loanDetails.getSummary().getTotalOutstanding(), 700.0);
|
||||
assertEquals(700.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
|
||||
// chargeback on Payout Refund Transaction
|
||||
chargebackTransactionResponse = loanTransactionHelper.chargebackLoanTransaction(loanExternalIdStr, payoutRefund_1.getResourceId(),
|
||||
@@ -181,7 +181,7 @@ public class LoanChargebackOnPaymentTypeRepaymentTransactionsTest {
|
||||
assertNotNull(loanDetails);
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertNotNull(loanDetails.getSummary());
|
||||
assertEquals(loanDetails.getSummary().getTotalOutstanding(), 1000.0);
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
|
||||
// Merchant Issued Refund
|
||||
|
||||
@@ -196,7 +196,7 @@ public class LoanChargebackOnPaymentTypeRepaymentTransactionsTest {
|
||||
assertNotNull(loanDetails);
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertNotNull(loanDetails.getSummary());
|
||||
assertEquals(loanDetails.getSummary().getTotalOutstanding(), 900.0);
|
||||
assertEquals(900.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
|
||||
// chargeback on Merchant Issued Refund Transaction
|
||||
chargebackTransactionResponse = loanTransactionHelper.chargebackLoanTransaction(loanExternalIdStr,
|
||||
@@ -212,7 +212,7 @@ public class LoanChargebackOnPaymentTypeRepaymentTransactionsTest {
|
||||
assertNotNull(loanDetails);
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertNotNull(loanDetails.getSummary());
|
||||
assertEquals(loanDetails.getSummary().getTotalOutstanding(), 1000.0);
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
|
||||
}
|
||||
|
||||
|
||||
+5
-4
@@ -35,6 +35,7 @@ import org.apache.fineract.client.models.PostLoansLoanIdResponse;
|
||||
import org.apache.fineract.client.models.PostLoansRequest;
|
||||
import org.apache.fineract.client.models.PostLoansResponse;
|
||||
import org.apache.fineract.integrationtests.common.ClientHelper;
|
||||
import org.apache.fineract.integrationtests.common.Utils;
|
||||
import org.apache.fineract.portfolio.loanaccount.loanschedule.domain.LoanScheduleProcessingType;
|
||||
import org.apache.fineract.portfolio.loanaccount.loanschedule.domain.LoanScheduleType;
|
||||
import org.apache.fineract.portfolio.loanproduct.domain.PaymentAllocationType;
|
||||
@@ -1777,10 +1778,10 @@ public class LoanChargebackWithCreditAllocationsIntegrationTests extends BaseLoa
|
||||
GetLoansLoanIdResponse loanResponse = loanTransactionHelper.getLoan(requestSpec, responseSpec, loanId.intValue());
|
||||
GetLoansLoanIdSummary summary = loanResponse.getSummary();
|
||||
Assertions.assertNotNull(summary);
|
||||
Assertions.assertEquals(creditedPrincipal, summary.getPrincipalAdjustments());
|
||||
Assertions.assertEquals(creditedFee, summary.getFeeAdjustments());
|
||||
Assertions.assertEquals(creditedPenalty, summary.getPenaltyAdjustments());
|
||||
Assertions.assertEquals(totalOutstanding, summary.getTotalOutstanding());
|
||||
Assertions.assertEquals(creditedPrincipal, Utils.getDoubleValue(summary.getPrincipalAdjustments()));
|
||||
Assertions.assertEquals(creditedFee, Utils.getDoubleValue(summary.getFeeAdjustments()));
|
||||
Assertions.assertEquals(creditedPenalty, Utils.getDoubleValue(summary.getPenaltyAdjustments()));
|
||||
Assertions.assertEquals(totalOutstanding, Utils.getDoubleValue(summary.getTotalOutstanding()));
|
||||
}
|
||||
|
||||
private Long applyAndApproveLoan(Long clientId, Long loanProductId, int numberOfRepayments) {
|
||||
|
||||
+2
-2
@@ -1254,7 +1254,7 @@ public class LoanInterestRefundTest extends BaseLoanIntegrationTest {
|
||||
Assertions.assertNotNull(loanDetails);
|
||||
Assertions.assertNotNull(loanDetails.getStatus());
|
||||
Assertions.assertEquals(700, loanDetails.getStatus().getId());
|
||||
Assertions.assertEquals(160.16D, loanDetails.getTotalOverpaid());
|
||||
Assertions.assertEquals(160.16D, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1630,7 +1630,7 @@ public class LoanInterestRefundTest extends BaseLoanIntegrationTest {
|
||||
);
|
||||
GetLoansLoanIdResponse loanDetails = loanTransactionHelper.getLoanDetails(loanId);
|
||||
verifyLoanStatus(loanDetails, LoanStatus.OVERPAID);
|
||||
Assertions.assertEquals(0.36, loanDetails.getTotalOverpaid());
|
||||
Assertions.assertEquals(0.36, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -100,7 +100,7 @@ public class LoanLastRepaymentDetailsTest {
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertNotNull(loanDetails.getDelinquent());
|
||||
assertNotNull(loanDetails.getDelinquent().getLastRepaymentAmount());
|
||||
assertEquals(loanDetails.getDelinquent().getLastRepaymentAmount(), 500);
|
||||
assertEquals(500.00, Utils.getDoubleValue(loanDetails.getDelinquent().getLastRepaymentAmount()));
|
||||
assertNotNull(loanDetails.getDelinquent().getLastRepaymentDate());
|
||||
assertEquals(loanDetails.getDelinquent().getLastRepaymentDate(), lastRepaymentDate_1);
|
||||
|
||||
@@ -117,7 +117,7 @@ public class LoanLastRepaymentDetailsTest {
|
||||
assertTrue(loanDetails.getStatus().getClosedObligationsMet());
|
||||
assertNotNull(loanDetails.getDelinquent());
|
||||
assertNotNull(loanDetails.getDelinquent().getLastRepaymentAmount());
|
||||
assertEquals(loanDetails.getDelinquent().getLastRepaymentAmount(), 500);
|
||||
assertEquals(500.00, Utils.getDoubleValue(loanDetails.getDelinquent().getLastRepaymentAmount()));
|
||||
assertNotNull(loanDetails.getDelinquent().getLastRepaymentDate());
|
||||
assertEquals(loanDetails.getDelinquent().getLastRepaymentDate(), lastRepaymentDate_2);
|
||||
|
||||
@@ -155,7 +155,7 @@ public class LoanLastRepaymentDetailsTest {
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertNotNull(loanDetails.getDelinquent());
|
||||
assertNotNull(loanDetails.getDelinquent().getLastRepaymentAmount());
|
||||
assertEquals(loanDetails.getDelinquent().getLastRepaymentAmount(), 500);
|
||||
assertEquals(500.00, Utils.getDoubleValue(loanDetails.getDelinquent().getLastRepaymentAmount()));
|
||||
assertNotNull(loanDetails.getDelinquent().getLastRepaymentDate());
|
||||
assertEquals(loanDetails.getDelinquent().getLastRepaymentDate(), lastRepaymentDate_1);
|
||||
|
||||
@@ -171,7 +171,7 @@ public class LoanLastRepaymentDetailsTest {
|
||||
assertTrue(loanDetails.getStatus().getOverpaid());
|
||||
assertNotNull(loanDetails.getDelinquent());
|
||||
assertNotNull(loanDetails.getDelinquent().getLastRepaymentAmount());
|
||||
assertEquals(loanDetails.getDelinquent().getLastRepaymentAmount(), 600);
|
||||
assertEquals(600.00, Utils.getDoubleValue(loanDetails.getDelinquent().getLastRepaymentAmount()));
|
||||
assertNotNull(loanDetails.getDelinquent().getLastRepaymentDate());
|
||||
assertEquals(loanDetails.getDelinquent().getLastRepaymentDate(), lastRepaymentDate_2);
|
||||
|
||||
|
||||
+46
-28
@@ -170,25 +170,28 @@ public class LoanProductRepaymentStartDateConfigurationTest {
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
|
||||
// first period [2023-03-03 to 2023-04-03]
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 3), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(333.33, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.33,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second period [2023-04-03 to 2023-05-03]
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(333.33, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.33,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third period [2023-05-03 to 2023-06-03]
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 3), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(333.34, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.34,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// first disbursement on a future date (7 March 2023)
|
||||
|
||||
@@ -208,26 +211,29 @@ public class LoanProductRepaymentStartDateConfigurationTest {
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(500.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(500.0, loanDetails.getRepaymentSchedule().getTotalPrincipalDisbursed());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalDisbursed()));
|
||||
|
||||
// first period [2023-03-03 to 2023-04-03]
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 3), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(166.67, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.67,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second period [2023-04-03 to 2023-05-03]
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(166.67, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.67,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third period [2023-05-03 to 2023-06-03]
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 3), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(166.66, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.66,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second disbursement next month (7 April 2023)
|
||||
|
||||
@@ -248,26 +254,29 @@ public class LoanProductRepaymentStartDateConfigurationTest {
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalDisbursed());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalDisbursed()));
|
||||
|
||||
// first period [2023-03-03 to 2023-04-03]
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 3), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(166.67, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.67,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second period [2023-04-03 to 2023-05-03]
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 3), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(333.33, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.33,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third period [2023-05-03 to 2023-06-03]
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 3), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 3), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(500.00, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(500.00,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
@@ -327,25 +336,28 @@ public class LoanProductRepaymentStartDateConfigurationTest {
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
|
||||
// first period [2023-03-07 to 2023-04-07]
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(333.33, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.33,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second period [2023-04-07 to 2023-05-07]
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(333.33, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.33,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third period [2023-05-07 to 2023-06-07]
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(333.34, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.34,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// first disbursement (7 March 2023)
|
||||
|
||||
@@ -366,26 +378,29 @@ public class LoanProductRepaymentStartDateConfigurationTest {
|
||||
assertEquals(4, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(500.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(500.0, loanDetails.getRepaymentSchedule().getTotalPrincipalDisbursed());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalDisbursed()));
|
||||
|
||||
// first period [2023-03-07 to 2023-04-07]
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(166.67, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.67,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second period [2023-04-07 to 2023-05-07]
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(166.67, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.67,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third period [2023-05-07 to 2023-06-07]
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(166.66, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(166.66,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second disbursement next month (7 April 2023)
|
||||
|
||||
@@ -407,26 +422,29 @@ public class LoanProductRepaymentStartDateConfigurationTest {
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
|
||||
// verify amounts
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalExpected());
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getTotalPrincipalDisbursed());
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalExpected()));
|
||||
assertEquals(1000.0, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getTotalPrincipalDisbursed()));
|
||||
|
||||
// first period [2023-03-07 to 2023-04-07]
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(333.33, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.33,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// second period [2023-04-07 to 2023-05-07]
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(333.33, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.33,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
// third period [2023-05-07 to 2023-06-07]
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 5, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getFromDate());
|
||||
assertEquals(LocalDate.of(2023, 6, 7), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(333.34, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(333.34,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
|
||||
+87
-72
@@ -160,7 +160,7 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
.anyMatch(period -> expectedDownPaymentAmount.equals(Utils.getDoubleValue(period.getTotalPaidForPeriod())) //
|
||||
&& expectedDownPaymentDueDate.equals(period.getDueDate())));
|
||||
assertEquals(expectedRepaymentAmount, Utils.getDoubleValue(summary.getTotalOutstanding()));
|
||||
assertEquals(expectedDownPaymentAmount, summary.getTotalRepaymentTransaction());
|
||||
assertEquals(expectedDownPaymentAmount, Utils.getDoubleValue(summary.getTotalRepaymentTransaction()));
|
||||
assertTrue(periods.stream().anyMatch(period -> expectedRepaymentAmount.equals(Utils.getDoubleValue(period.getTotalDueForPeriod()))
|
||||
&& expectedRepaymentDueDate.equals(period.getDueDate())));
|
||||
}
|
||||
@@ -363,30 +363,31 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
LocalDate expectedThirdRepaymentDueDate = LocalDate.of(2022, 12, 3);
|
||||
Double outstandingBalanceOnThirdRepayment = 0.00;
|
||||
|
||||
assertEquals(expectedDownPaymentAmount, summary.getTotalRepaymentTransaction());
|
||||
assertEquals(expectedDownPaymentAmount, Utils.getDoubleValue(summary.getTotalRepaymentTransaction()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod firstDisbursementPeriod = periods.get(0);
|
||||
assertEquals(expectedDownPaymentDueDate, firstDisbursementPeriod.getDueDate());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnDisbursement, firstDisbursementPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnDisbursement,
|
||||
Utils.getDoubleValue(firstDisbursementPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod firstDownPaymentPeriod = periods.get(1);
|
||||
assertEquals(expectedDownPaymentAmount, firstDownPaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedDownPaymentAmount, Utils.getDoubleValue(firstDownPaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedDownPaymentDueDate, firstDownPaymentPeriod.getDueDate());
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod firstRepaymentPeriod = periods.get(2);
|
||||
assertEquals(expectedRepaymentAmount, firstRepaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedRepaymentAmount, Utils.getDoubleValue(firstRepaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedFirstRepaymentDueDate, firstRepaymentPeriod.getDueDate());
|
||||
assertEquals(outstandingBalanceOnFirstRepayment, firstRepaymentPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(outstandingBalanceOnFirstRepayment, Utils.getDoubleValue(firstRepaymentPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod secondRepaymentPeriod = periods.get(3);
|
||||
assertEquals(expectedRepaymentAmount, secondRepaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedRepaymentAmount, Utils.getDoubleValue(secondRepaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedSecondRepaymentDueDate, secondRepaymentPeriod.getDueDate());
|
||||
assertEquals(outstandingBalanceOnSecondRepayment, secondRepaymentPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(outstandingBalanceOnSecondRepayment, Utils.getDoubleValue(secondRepaymentPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod thirdRepaymentPeriod = periods.get(4);
|
||||
assertEquals(expectedRepaymentAmount, thirdRepaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedRepaymentAmount, Utils.getDoubleValue(thirdRepaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedThirdRepaymentDueDate, thirdRepaymentPeriod.getDueDate());
|
||||
assertEquals(outstandingBalanceOnThirdRepayment, thirdRepaymentPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(outstandingBalanceOnThirdRepayment, Utils.getDoubleValue(thirdRepaymentPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -441,38 +442,40 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
Double outstandingBalanceOnThirdRepayment = 0.00;
|
||||
Double expectedTotalRepaymentAmount = expectedFirstDownPaymentAmount + expectedSecondDownPaymentAmount;
|
||||
|
||||
assertEquals(expectedTotalRepaymentAmount, summary.getTotalRepaymentTransaction());
|
||||
assertEquals(expectedTotalRepaymentAmount, Utils.getDoubleValue(summary.getTotalRepaymentTransaction()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod firstDisbursementPeriod = periods.get(0);
|
||||
assertEquals(expectedFirstDownPaymentDueDate, firstDisbursementPeriod.getDueDate());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnFirstDisbursement, firstDisbursementPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnFirstDisbursement,
|
||||
Utils.getDoubleValue(firstDisbursementPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod firstDownPaymentPeriod = periods.get(1);
|
||||
assertEquals(expectedFirstDownPaymentAmount, firstDownPaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedFirstDownPaymentAmount, Utils.getDoubleValue(firstDownPaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedFirstDownPaymentDueDate, firstDownPaymentPeriod.getDueDate());
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod secondDisbursementPeriod = periods.get(2);
|
||||
assertEquals(expectedSecondDownPaymentDueDate, secondDisbursementPeriod.getDueDate());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnSecondDisbursement, secondDisbursementPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnSecondDisbursement,
|
||||
Utils.getDoubleValue(secondDisbursementPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod secondDownPaymentPeriod = periods.get(3);
|
||||
assertEquals(expectedSecondDownPaymentAmount, secondDownPaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedSecondDownPaymentAmount, Utils.getDoubleValue(secondDownPaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedSecondDownPaymentDueDate, secondDownPaymentPeriod.getDueDate());
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod firstRepaymentPeriod = periods.get(4);
|
||||
assertEquals(expectedRepaymentAmount, firstRepaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedRepaymentAmount, Utils.getDoubleValue(firstRepaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedFirstRepaymentDueDate, firstRepaymentPeriod.getDueDate());
|
||||
assertEquals(outstandingBalanceOnFirstRepayment, firstRepaymentPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(outstandingBalanceOnFirstRepayment, Utils.getDoubleValue(firstRepaymentPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod secondRepaymentPeriod = periods.get(5);
|
||||
assertEquals(expectedRepaymentAmount, secondRepaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedRepaymentAmount, Utils.getDoubleValue(secondRepaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedSecondRepaymentDueDate, secondRepaymentPeriod.getDueDate());
|
||||
assertEquals(outstandingBalanceOnSecondRepayment, secondRepaymentPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(outstandingBalanceOnSecondRepayment, Utils.getDoubleValue(secondRepaymentPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod thirdRepaymentPeriod = periods.get(6);
|
||||
assertEquals(expectedRepaymentAmount, thirdRepaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedRepaymentAmount, Utils.getDoubleValue(thirdRepaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedThirdRepaymentDueDate, thirdRepaymentPeriod.getDueDate());
|
||||
assertEquals(outstandingBalanceOnThirdRepayment, thirdRepaymentPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(outstandingBalanceOnThirdRepayment, Utils.getDoubleValue(thirdRepaymentPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -605,39 +608,41 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
Double outstandingBalanceOnThirdRepayment = 0.00;
|
||||
Double expectedTotalRepaymentAmount = expectedFirstDownPaymentAmount + expectedSecondDownPaymentAmount;
|
||||
|
||||
assertEquals(expectedTotalRepaymentAmount, summary.getTotalRepaymentTransaction());
|
||||
assertEquals(expectedTotalRepaymentAmount, Utils.getDoubleValue(summary.getTotalRepaymentTransaction()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod firstDisbursementPeriod = periods.get(0);
|
||||
assertEquals(expectedFirstDownPaymentDueDate, firstDisbursementPeriod.getDueDate());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnFirstDisbursement, firstDisbursementPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnFirstDisbursement,
|
||||
Utils.getDoubleValue(firstDisbursementPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod firstDownPaymentPeriod = periods.get(1);
|
||||
assertEquals(expectedFirstDownPaymentAmount, firstDownPaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedFirstDownPaymentAmount, Utils.getDoubleValue(firstDownPaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedFirstDownPaymentDueDate, firstDownPaymentPeriod.getDueDate());
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod secondDisbursementPeriod = periods.get(2);
|
||||
assertEquals(expectedSecondDownPaymentDueDate, secondDisbursementPeriod.getDueDate());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnSecondDisbursement, secondDisbursementPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnSecondDisbursement,
|
||||
Utils.getDoubleValue(secondDisbursementPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod secondDownPaymentPeriod = periods.get(3);
|
||||
assertEquals(expectedSecondDownPaymentAmount, secondDownPaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedSecondDownPaymentAmount, Utils.getDoubleValue(secondDownPaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedSecondDownPaymentDueDate, secondDownPaymentPeriod.getDueDate());
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod firstRepaymentPeriod = periods.get(4);
|
||||
assertEquals(expectedRepaymentAmount, firstRepaymentPeriod.getPrincipalDue());
|
||||
assertEquals(expectedRepaymentTotalDueWithCharge, firstRepaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedRepaymentAmount, Utils.getDoubleValue(firstRepaymentPeriod.getPrincipalDue()));
|
||||
assertEquals(expectedRepaymentTotalDueWithCharge, Utils.getDoubleValue(firstRepaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedFirstRepaymentDueDate, firstRepaymentPeriod.getDueDate());
|
||||
assertEquals(outstandingBalanceOnFirstRepayment, firstRepaymentPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(outstandingBalanceOnFirstRepayment, Utils.getDoubleValue(firstRepaymentPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod secondRepaymentPeriod = periods.get(5);
|
||||
assertEquals(expectedRepaymentAmount, secondRepaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedRepaymentAmount, Utils.getDoubleValue(secondRepaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedSecondRepaymentDueDate, secondRepaymentPeriod.getDueDate());
|
||||
assertEquals(outstandingBalanceOnSecondRepayment, secondRepaymentPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(outstandingBalanceOnSecondRepayment, Utils.getDoubleValue(secondRepaymentPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod thirdRepaymentPeriod = periods.get(6);
|
||||
assertEquals(expectedRepaymentAmount, thirdRepaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedRepaymentAmount, Utils.getDoubleValue(thirdRepaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedThirdRepaymentDueDate, thirdRepaymentPeriod.getDueDate());
|
||||
assertEquals(outstandingBalanceOnThirdRepayment, thirdRepaymentPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(outstandingBalanceOnThirdRepayment, Utils.getDoubleValue(thirdRepaymentPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -775,44 +780,46 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
Double outstandingBalanceOnThirdRepayment = 0.00;
|
||||
Double expectedTotalRepaymentAmount = expectedFirstDownPaymentAmount + expectedSecondDownPaymentAmount;
|
||||
|
||||
assertEquals(expectedTotalRepaymentAmount, summary.getTotalRepaymentTransaction());
|
||||
assertEquals(expectedTotalRepaymentAmount, Utils.getDoubleValue(summary.getTotalRepaymentTransaction()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod firstDisbursementPeriod = periods.get(0);
|
||||
assertEquals(expectedFirstDownPaymentDueDate, firstDisbursementPeriod.getDueDate());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnFirstDisbursement, firstDisbursementPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnFirstDisbursement,
|
||||
Utils.getDoubleValue(firstDisbursementPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod firstDownPaymentPeriod = periods.get(1);
|
||||
assertEquals(expectedFirstDownPaymentAmount, firstDownPaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedFirstDownPaymentAmount, Utils.getDoubleValue(firstDownPaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedFirstDownPaymentDueDate, firstDownPaymentPeriod.getDueDate());
|
||||
assertEquals(expectedDownPaymentInterest, firstDownPaymentPeriod.getInterestDue());
|
||||
assertEquals(expectedDownPaymentInterest, Utils.getDoubleValue(firstDownPaymentPeriod.getInterestDue()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod secondDisbursementPeriod = periods.get(2);
|
||||
assertEquals(expectedSecondDownPaymentDueDate, secondDisbursementPeriod.getDueDate());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnSecondDisbursement, secondDisbursementPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(expectedOutstandingLoanBalanceOnSecondDisbursement,
|
||||
Utils.getDoubleValue(secondDisbursementPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod secondDownPaymentPeriod = periods.get(3);
|
||||
assertEquals(expectedSecondDownPaymentAmount, secondDownPaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedSecondDownPaymentAmount, Utils.getDoubleValue(secondDownPaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedSecondDownPaymentDueDate, secondDownPaymentPeriod.getDueDate());
|
||||
assertEquals(expectedDownPaymentInterest, secondDownPaymentPeriod.getInterestDue());
|
||||
assertEquals(expectedDownPaymentInterest, Utils.getDoubleValue(secondDownPaymentPeriod.getInterestDue()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod firstRepaymentPeriod = periods.get(4);
|
||||
assertEquals(expectedRepaymentAmount, firstRepaymentPeriod.getPrincipalDue());
|
||||
assertEquals(expectedRepaymentTotalDueWithChargeAndInterest, firstRepaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedRepaymentAmount, Utils.getDoubleValue(firstRepaymentPeriod.getPrincipalDue()));
|
||||
assertEquals(expectedRepaymentTotalDueWithChargeAndInterest, Utils.getDoubleValue(firstRepaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedFirstRepaymentDueDate, firstRepaymentPeriod.getDueDate());
|
||||
assertEquals(outstandingBalanceOnFirstRepayment, firstRepaymentPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(expectedRepaymentInterest, firstRepaymentPeriod.getInterestDue());
|
||||
assertEquals(outstandingBalanceOnFirstRepayment, Utils.getDoubleValue(firstRepaymentPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
assertEquals(expectedRepaymentInterest, Utils.getDoubleValue(firstRepaymentPeriod.getInterestDue()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod secondRepaymentPeriod = periods.get(5);
|
||||
assertEquals(expectedRepaymentAmountWithInterest, secondRepaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedRepaymentAmountWithInterest, Utils.getDoubleValue(secondRepaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedSecondRepaymentDueDate, secondRepaymentPeriod.getDueDate());
|
||||
assertEquals(outstandingBalanceOnSecondRepayment, secondRepaymentPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(expectedRepaymentInterest, secondRepaymentPeriod.getInterestDue());
|
||||
assertEquals(outstandingBalanceOnSecondRepayment, Utils.getDoubleValue(secondRepaymentPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
assertEquals(expectedRepaymentInterest, Utils.getDoubleValue(secondRepaymentPeriod.getInterestDue()));
|
||||
|
||||
GetLoansLoanIdRepaymentPeriod thirdRepaymentPeriod = periods.get(6);
|
||||
assertEquals(expectedRepaymentAmountWithInterest, thirdRepaymentPeriod.getTotalDueForPeriod());
|
||||
assertEquals(expectedRepaymentAmountWithInterest, Utils.getDoubleValue(thirdRepaymentPeriod.getTotalDueForPeriod()));
|
||||
assertEquals(expectedThirdRepaymentDueDate, thirdRepaymentPeriod.getDueDate());
|
||||
assertEquals(outstandingBalanceOnThirdRepayment, thirdRepaymentPeriod.getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(expectedRepaymentInterest, thirdRepaymentPeriod.getInterestDue());
|
||||
assertEquals(outstandingBalanceOnThirdRepayment, Utils.getDoubleValue(thirdRepaymentPeriod.getPrincipalLoanBalanceOutstanding()));
|
||||
assertEquals(expectedRepaymentInterest, Utils.getDoubleValue(thirdRepaymentPeriod.getInterestDue()));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1059,14 +1066,17 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
|
||||
// verify installment details
|
||||
assertEquals(LocalDate.of(2023, 3, 3), loanDetails.getRepaymentSchedule().getPeriods().get(0).getDueDate());
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getPeriods().get(0).getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(1000.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(0).getPrincipalLoanBalanceOutstanding()));
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 3), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(1).getDownPaymentPeriod());
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 2), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(750.0, loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(750.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(2).getDownPaymentPeriod());
|
||||
|
||||
// second disbursement
|
||||
@@ -1079,21 +1089,26 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
loanDetails = loanTransactionHelper.getLoanDetails(loanId.longValue());
|
||||
// verify installment details
|
||||
assertEquals(LocalDate.of(2023, 3, 3), loanDetails.getRepaymentSchedule().getPeriods().get(0).getDueDate());
|
||||
assertEquals(1000.0, loanDetails.getRepaymentSchedule().getPeriods().get(0).getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(1000.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(0).getPrincipalLoanBalanceOutstanding()));
|
||||
assertEquals(1, loanDetails.getRepaymentSchedule().getPeriods().get(1).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 3), loanDetails.getRepaymentSchedule().getPeriods().get(1).getDueDate());
|
||||
assertEquals(250.0, loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(250.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(1).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(1).getDownPaymentPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 5), loanDetails.getRepaymentSchedule().getPeriods().get(2).getDueDate());
|
||||
assertEquals(200.0, loanDetails.getRepaymentSchedule().getPeriods().get(2).getPrincipalLoanBalanceOutstanding());
|
||||
assertEquals(200.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(2).getPrincipalLoanBalanceOutstanding()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(2).getDownPaymentPeriod());
|
||||
assertEquals(2, loanDetails.getRepaymentSchedule().getPeriods().get(3).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 3, 5), loanDetails.getRepaymentSchedule().getPeriods().get(3).getDueDate());
|
||||
assertEquals(50.0, loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(50.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(3).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(true, loanDetails.getRepaymentSchedule().getPeriods().get(3).getDownPaymentPeriod());
|
||||
assertEquals(3, loanDetails.getRepaymentSchedule().getPeriods().get(4).getPeriod());
|
||||
assertEquals(LocalDate.of(2023, 4, 2), loanDetails.getRepaymentSchedule().getPeriods().get(4).getDueDate());
|
||||
assertEquals(900.0, loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod());
|
||||
assertEquals(900.0,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(4).getTotalInstallmentAmountForPeriod()));
|
||||
assertEquals(false, loanDetails.getRepaymentSchedule().getPeriods().get(4).getDownPaymentPeriod());
|
||||
|
||||
// verify journal entries for down-payment
|
||||
@@ -1284,7 +1299,7 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
transaction(800.0, "Repayment", "03 March 2023", 0.0, 750.0, 0.0, 0.0, 0.0, 0.0, 50.0) //
|
||||
);
|
||||
assertTrue(loanDetails.getStatus().getOverpaid());
|
||||
assertEquals(50.0, loanDetails.getTotalOverpaid());
|
||||
assertEquals(50.0, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
|
||||
// second disbursement
|
||||
disbursementDate = LocalDate.of(2023, 3, 5);
|
||||
@@ -1311,7 +1326,7 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
transaction(20.0, "Disbursement", "05 March 2023", 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20.0) //
|
||||
);
|
||||
assertTrue(loanDetails.getStatus().getOverpaid());
|
||||
assertEquals(30.0, loanDetails.getTotalOverpaid());
|
||||
assertEquals(30.0, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
|
||||
loanTransactionHelper.disburseLoan(loanResponse.getResourceId(),
|
||||
new PostLoansLoanIdRequest().actualDisbursementDate("05 March 2023").dateFormat(DATETIME_PATTERN)
|
||||
@@ -1338,8 +1353,8 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
);
|
||||
|
||||
assertTrue(loanDetails.getStatus().getClosedObligationsMet());
|
||||
assertEquals(0.0, loanDetails.getSummary().getTotalOutstanding());
|
||||
assertEquals(null, loanDetails.getTotalOverpaid());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
assertEquals(null, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
|
||||
PostLoansLoanIdTransactionsResponse repayment = loanTransactionHelper.makeLoanRepayment(loanResponse.getResourceId(),
|
||||
new PostLoansLoanIdTransactionsRequest().dateFormat("dd MMMM yyyy").transactionDate("05 March 2023").locale("en")
|
||||
@@ -1356,7 +1371,7 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
transaction(1.0, "Repayment", "05 March 2023", 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) //
|
||||
);
|
||||
assertTrue(loanDetails.getStatus().getOverpaid());
|
||||
assertEquals(1.0, loanDetails.getTotalOverpaid());
|
||||
assertEquals(1.0, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
|
||||
loanTransactionHelper.disburseLoan(loanResponse.getResourceId(),
|
||||
new PostLoansLoanIdRequest().actualDisbursementDate("05 March 2023").dateFormat(DATETIME_PATTERN)
|
||||
@@ -1387,7 +1402,7 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
);
|
||||
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertEquals(30.0, loanDetails.getSummary().getTotalOutstanding());
|
||||
assertEquals(30.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
|
||||
loanTransactionHelper.reverseLoanTransaction(repayment.getLoanId(), repayment.getResourceId(),
|
||||
new PostLoansLoanIdTransactionsTransactionIdRequest().dateFormat(DATETIME_PATTERN).transactionDate("05 March 2023")
|
||||
@@ -1419,7 +1434,7 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
);
|
||||
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertEquals(31.0, loanDetails.getSummary().getTotalOutstanding());
|
||||
assertEquals(31.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1499,7 +1514,7 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
transaction(800.0, "Repayment", "03 March 2023", 0.0, 750.0, 0.0, 0.0, 0.0, 0.0, 50.0) //
|
||||
);
|
||||
assertTrue(loanDetails.getStatus().getOverpaid());
|
||||
assertEquals(50.0, loanDetails.getTotalOverpaid());
|
||||
assertEquals(50.0, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
|
||||
// second disbursement
|
||||
disbursementDate = LocalDate.of(2023, 3, 5);
|
||||
@@ -1526,7 +1541,7 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
transaction(20.0, "Disbursement", "05 March 2023", 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) //
|
||||
);
|
||||
assertTrue(loanDetails.getStatus().getOverpaid());
|
||||
assertEquals(30.0, loanDetails.getTotalOverpaid());
|
||||
assertEquals(30.0, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
|
||||
loanTransactionHelper.disburseLoan(loanResponse.getResourceId(),
|
||||
new PostLoansLoanIdRequest().actualDisbursementDate("05 March 2023").dateFormat(DATETIME_PATTERN)
|
||||
@@ -1553,8 +1568,8 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
);
|
||||
|
||||
assertTrue(loanDetails.getStatus().getClosedObligationsMet());
|
||||
assertEquals(0.0, loanDetails.getSummary().getTotalOutstanding());
|
||||
assertEquals(null, loanDetails.getTotalOverpaid());
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
assertEquals(null, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
|
||||
loanTransactionHelper.disburseLoan(loanResponse.getResourceId(),
|
||||
new PostLoansLoanIdRequest().actualDisbursementDate("05 March 2023").dateFormat(DATETIME_PATTERN)
|
||||
@@ -1584,7 +1599,7 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
);
|
||||
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertEquals(30.0, loanDetails.getSummary().getTotalOutstanding());
|
||||
assertEquals(30.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
|
||||
loanTransactionHelper.reverseLoanTransaction(loanResponse.getLoanId(), externalId,
|
||||
new PostLoansLoanIdTransactionsTransactionIdRequest().dateFormat(DATETIME_PATTERN).transactionDate("05 March 2023")
|
||||
@@ -1615,7 +1630,7 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
);
|
||||
|
||||
assertTrue(loanDetails.getStatus().getActive());
|
||||
assertEquals(830.0, loanDetails.getSummary().getTotalOutstanding());
|
||||
assertEquals(830.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1666,7 +1681,7 @@ public class LoanRepaymentScheduleWithDownPaymentTest extends BaseLoanIntegratio
|
||||
.anyMatch(period -> expectedDownPaymentAmount.equals(Utils.getDoubleValue(period.getTotalOutstandingForPeriod())) //
|
||||
&& expectedDownPaymentDueDate.equals(period.getDueDate())));
|
||||
assertEquals(expectedTotalOutstandingAmount, Utils.getDoubleValue(summary.getTotalOutstanding()));
|
||||
assertEquals(expectedTotalRepaymentTransactionAmount, summary.getTotalRepaymentTransaction());
|
||||
assertEquals(expectedTotalRepaymentTransactionAmount, Utils.getDoubleValue(summary.getTotalRepaymentTransaction()));
|
||||
assertTrue(periods.stream()
|
||||
.anyMatch(period -> expectedRepaymentAmount.equals(Utils.getDoubleValue(period.getTotalOutstandingForPeriod()))
|
||||
&& expectedRepaymentDueDate.equals(period.getDueDate())));
|
||||
|
||||
+24
-17
@@ -563,31 +563,38 @@ public class LoanSpecificDueDateChargeAfterMaturityTest extends BaseLoanIntegrat
|
||||
|
||||
private static void validateLoanTransaction(GetLoansLoanIdResponse loanDetails, int index, double transactionAmount,
|
||||
double principalPortion, double overPaidPortion, double loanBalance) {
|
||||
assertEquals(transactionAmount, loanDetails.getTransactions().get(index).getAmount());
|
||||
assertEquals(principalPortion, loanDetails.getTransactions().get(index).getPrincipalPortion());
|
||||
assertEquals(overPaidPortion, loanDetails.getTransactions().get(index).getOverpaymentPortion());
|
||||
assertEquals(loanBalance, loanDetails.getTransactions().get(index).getOutstandingLoanBalance());
|
||||
assertEquals(transactionAmount, Utils.getDoubleValue(loanDetails.getTransactions().get(index).getAmount()));
|
||||
assertEquals(principalPortion, Utils.getDoubleValue(loanDetails.getTransactions().get(index).getPrincipalPortion()));
|
||||
assertEquals(overPaidPortion, Utils.getDoubleValue(loanDetails.getTransactions().get(index).getOverpaymentPortion()));
|
||||
assertEquals(loanBalance, Utils.getDoubleValue(loanDetails.getTransactions().get(index).getOutstandingLoanBalance()));
|
||||
}
|
||||
|
||||
private static void validateRepaymentPeriod(GetLoansLoanIdResponse loanDetails, int index, double principalDue, double principalPaid,
|
||||
double principalOutstanding, double paidInAdvance, double paidLate) {
|
||||
assertEquals(principalDue, loanDetails.getRepaymentSchedule().getPeriods().get(index).getPrincipalDue());
|
||||
assertEquals(principalPaid, loanDetails.getRepaymentSchedule().getPeriods().get(index).getPrincipalPaid());
|
||||
assertEquals(principalOutstanding, loanDetails.getRepaymentSchedule().getPeriods().get(index).getPrincipalOutstanding());
|
||||
assertEquals(paidInAdvance, loanDetails.getRepaymentSchedule().getPeriods().get(index).getTotalPaidInAdvanceForPeriod());
|
||||
assertEquals(paidLate, loanDetails.getRepaymentSchedule().getPeriods().get(index).getTotalPaidLateForPeriod());
|
||||
assertEquals(principalDue, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getPrincipalDue()));
|
||||
assertEquals(principalPaid, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getPrincipalPaid()));
|
||||
assertEquals(principalOutstanding,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getPrincipalOutstanding()));
|
||||
assertEquals(paidInAdvance,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getTotalPaidInAdvanceForPeriod()));
|
||||
assertEquals(paidLate,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getTotalPaidLateForPeriod()));
|
||||
}
|
||||
|
||||
private static void validateRepaymentPeriod(GetLoansLoanIdResponse loanDetails, int index, double principalDue, double principalPaid,
|
||||
double principalOutstanding, double penaltyDue, double penaltyPaid, double penaltyOutstanding, double paidInAdvance,
|
||||
double paidLate) {
|
||||
assertEquals(principalDue, loanDetails.getRepaymentSchedule().getPeriods().get(index).getPrincipalDue());
|
||||
assertEquals(principalPaid, loanDetails.getRepaymentSchedule().getPeriods().get(index).getPrincipalPaid());
|
||||
assertEquals(principalOutstanding, loanDetails.getRepaymentSchedule().getPeriods().get(index).getPrincipalOutstanding());
|
||||
assertEquals(penaltyDue, loanDetails.getRepaymentSchedule().getPeriods().get(index).getPenaltyChargesDue());
|
||||
assertEquals(penaltyPaid, loanDetails.getRepaymentSchedule().getPeriods().get(index).getPenaltyChargesPaid());
|
||||
assertEquals(penaltyOutstanding, loanDetails.getRepaymentSchedule().getPeriods().get(index).getPenaltyChargesOutstanding());
|
||||
assertEquals(paidInAdvance, loanDetails.getRepaymentSchedule().getPeriods().get(index).getTotalPaidInAdvanceForPeriod());
|
||||
assertEquals(paidLate, loanDetails.getRepaymentSchedule().getPeriods().get(index).getTotalPaidLateForPeriod());
|
||||
assertEquals(principalDue, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getPrincipalDue()));
|
||||
assertEquals(principalPaid, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getPrincipalPaid()));
|
||||
assertEquals(principalOutstanding,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getPrincipalOutstanding()));
|
||||
assertEquals(penaltyDue, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getPenaltyChargesDue()));
|
||||
assertEquals(penaltyPaid, Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getPenaltyChargesPaid()));
|
||||
assertEquals(penaltyOutstanding,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getPenaltyChargesOutstanding()));
|
||||
assertEquals(paidInAdvance,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getTotalPaidInAdvanceForPeriod()));
|
||||
assertEquals(paidLate,
|
||||
Utils.getDoubleValue(loanDetails.getRepaymentSchedule().getPeriods().get(index).getTotalPaidLateForPeriod()));
|
||||
}
|
||||
}
|
||||
|
||||
-36
@@ -19,9 +19,7 @@
|
||||
package org.apache.fineract.integrationtests;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.List;
|
||||
import org.apache.fineract.client.models.GetLoansLoanIdRepaymentPeriod;
|
||||
import org.apache.fineract.client.models.GetLoansLoanIdResponse;
|
||||
import org.apache.fineract.client.models.PostLoanProductsResponse;
|
||||
import org.apache.fineract.client.models.PostLoansResponse;
|
||||
@@ -250,38 +248,4 @@ public class LoanSummaryTest extends BaseLoanIntegrationTest {
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCapitalizedIncomeExistsInRepaymentScheduleAndModifiesPrincipal() {
|
||||
runAt("01 March 2023", () -> {
|
||||
final PostLoanProductsResponse loanProductsResponse = loanProductHelper
|
||||
.createLoanProduct(create4IProgressiveWithCapitalizedIncome());
|
||||
PostLoansResponse postLoansResponse = loanTransactionHelper.applyLoan(applyLP2ProgressiveLoanRequest(clientId,
|
||||
loanProductsResponse.getResourceId(), "01 March 2023", 10000.00, 12.00, 4, null));
|
||||
loanId = postLoansResponse.getLoanId();
|
||||
loanTransactionHelper.approveLoan(loanId, approveLoanRequest(10000.00, "01 March 2023"));
|
||||
disburseLoan(loanId, BigDecimal.valueOf(1000.00), "01 March 2023");
|
||||
});
|
||||
runAt("02 March 2023", () -> {
|
||||
loanTransactionHelper.addCapitalizedIncome(loanId, "02 March 2023", 100.00);
|
||||
});
|
||||
|
||||
BigDecimal thousand = BigDecimal.valueOf(1000.0);
|
||||
BigDecimal hundred = BigDecimal.valueOf(100.0);
|
||||
BigDecimal thousandOneHundred = BigDecimal.valueOf(1100.0);
|
||||
|
||||
GetLoansLoanIdResponse loanDetails = loanTransactionHelper.getLoanDetails(loanId);
|
||||
|
||||
Assertions.assertEquals(thousand, loanDetails.getPrincipal().setScale(1, RoundingMode.HALF_UP));
|
||||
Assertions.assertEquals(thousand, loanDetails.getSummary().getPrincipalDisbursed().setScale(1, RoundingMode.HALF_UP));
|
||||
Assertions.assertEquals(hundred,
|
||||
loanDetails.getSummary().getTotalPrincipalFromCapitalizedIncome().setScale(1, RoundingMode.HALF_UP));
|
||||
Assertions.assertEquals(thousandOneHundred, loanDetails.getSummary().getTotalPrincipal().setScale(1, RoundingMode.HALF_UP));
|
||||
Assertions.assertEquals(thousandOneHundred, loanDetails.getSummary().getPrincipalOutstanding().setScale(1, RoundingMode.HALF_UP));
|
||||
|
||||
List<GetLoansLoanIdRepaymentPeriod> periods = loanDetails.getRepaymentSchedule().getPeriods();
|
||||
Assertions.assertEquals(6, periods.size());
|
||||
Assertions.assertEquals(thousand, periods.get(0).getPrincipalLoanBalanceOutstanding().setScale(1, RoundingMode.HALF_UP));
|
||||
Assertions.assertEquals(hundred, periods.get(1).getPrincipalLoanBalanceOutstanding().setScale(1, RoundingMode.HALF_UP));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+3
-3
@@ -255,7 +255,7 @@ public class LoanTransactionChargebackTest extends BaseLoanIntegrationTest {
|
||||
if (period.getPeriod() != null && period.getPeriod() == 3) {
|
||||
log.info("Period number {} for due date {} and totalDueForPeriod {}", period.getPeriod(), period.getDueDate(),
|
||||
period.getTotalDueForPeriod());
|
||||
assertEquals(Double.valueOf("666.67"), period.getTotalDueForPeriod());
|
||||
assertEquals(Double.valueOf("666.67"), Utils.getDoubleValue(period.getTotalDueForPeriod()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -356,7 +356,7 @@ public class LoanTransactionChargebackTest extends BaseLoanIntegrationTest {
|
||||
if (period.getPeriod() != null && period.getPeriod() == 2) {
|
||||
log.info("Period number {} for due date {} and totalDueForPeriod {}", period.getPeriod(), period.getDueDate(),
|
||||
period.getTotalDueForPeriod());
|
||||
assertEquals(Double.valueOf("500.00"), period.getPrincipalDue());
|
||||
assertEquals(Double.valueOf("500.00"), Utils.getDoubleValue(period.getPrincipalDue()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -385,7 +385,7 @@ public class LoanTransactionChargebackTest extends BaseLoanIntegrationTest {
|
||||
if (period.getPeriod() != null && period.getPeriod() == 2) {
|
||||
log.info("Period number {} for due date {} and totalDueForPeriod {}", period.getPeriod(), period.getDueDate(),
|
||||
period.getTotalDueForPeriod());
|
||||
assertEquals(Double.valueOf("800.00"), period.getPrincipalDue());
|
||||
assertEquals(Double.valueOf("800.00"), Utils.getDoubleValue(period.getPrincipalDue()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -121,19 +121,19 @@ public class LoanTransactionFullAmountChargebackForOverpaidLoanTest {
|
||||
// verify loan is overpaid
|
||||
assertNotNull(loanDetails);
|
||||
assertTrue(loanDetails.getStatus().getOverpaid());
|
||||
assertEquals(loanDetails.getTotalOverpaid(), 200.0);
|
||||
assertEquals(200.0, Utils.getDoubleValue(loanDetails.getTotalOverpaid()));
|
||||
|
||||
// verify loan outstanding
|
||||
assertNotNull(loanDetails.getSummary());
|
||||
assertEquals(loanDetails.getSummary().getTotalOutstanding(), 0.0);
|
||||
assertEquals(0.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
|
||||
// verify last transaction amount distribution
|
||||
GetLoansLoanIdTransactionsTransactionIdResponse loanTransaction = loanTransactionHelper.getLoanTransaction(loanId,
|
||||
repaymentTransaction_3.getResourceId().intValue());
|
||||
|
||||
assertNotNull(loanTransaction);
|
||||
assertEquals(loanTransaction.getAmount(), 300.0);
|
||||
assertEquals(loanTransaction.getPrincipalPortion(), 100.0);
|
||||
assertEquals(300.0, loanTransaction.getAmount());
|
||||
assertEquals(100.0, loanTransaction.getPrincipalPortion());
|
||||
|
||||
// chargeback for full amount on last repayment for which the amount is 300 and principal is 100 due to
|
||||
// overpayment adjustment
|
||||
@@ -150,15 +150,15 @@ public class LoanTransactionFullAmountChargebackForOverpaidLoanTest {
|
||||
|
||||
// verify loan outstanding
|
||||
assertNotNull(loanDetailsAfterChargeback.getSummary());
|
||||
assertEquals(loanDetailsAfterChargeback.getSummary().getTotalOutstanding(), 100.0);
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetailsAfterChargeback.getSummary().getTotalOutstanding()));
|
||||
|
||||
// verify chargeback transaction amount distribution
|
||||
GetLoansLoanIdTransactionsTransactionIdResponse chargebackTransaction = loanTransactionHelper.getLoanTransaction(loanId,
|
||||
chargebackTransactionResponse.getResourceId().intValue());
|
||||
|
||||
assertNotNull(chargebackTransaction);
|
||||
assertEquals(chargebackTransaction.getAmount(), 300.0);
|
||||
assertEquals(chargebackTransaction.getPrincipalPortion(), 100.0);
|
||||
assertEquals(300.0, chargebackTransaction.getAmount());
|
||||
assertEquals(100.0, chargebackTransaction.getPrincipalPortion());
|
||||
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -1748,19 +1748,19 @@ public class LoanTransactionInterestPaymentWaiverTest extends BaseLoanIntegratio
|
||||
|
||||
private static void validateLoanTransaction(GetLoansLoanIdResponse loanDetails, int index, double transactionAmount,
|
||||
double principalPortion, double overPaidPortion, double loanBalance) {
|
||||
assertEquals(transactionAmount, loanDetails.getTransactions().get(index).getAmount());
|
||||
assertEquals(principalPortion, loanDetails.getTransactions().get(index).getPrincipalPortion());
|
||||
assertEquals(overPaidPortion, loanDetails.getTransactions().get(index).getOverpaymentPortion());
|
||||
assertEquals(loanBalance, loanDetails.getTransactions().get(index).getOutstandingLoanBalance());
|
||||
assertEquals(transactionAmount, Utils.getDoubleValue(loanDetails.getTransactions().get(index).getAmount()));
|
||||
assertEquals(principalPortion, Utils.getDoubleValue(loanDetails.getTransactions().get(index).getPrincipalPortion()));
|
||||
assertEquals(overPaidPortion, Utils.getDoubleValue(loanDetails.getTransactions().get(index).getOverpaymentPortion()));
|
||||
assertEquals(loanBalance, Utils.getDoubleValue(loanDetails.getTransactions().get(index).getOutstandingLoanBalance()));
|
||||
}
|
||||
|
||||
private void validateLoanCharge(GetLoansLoanIdResponse loanDetails, int index, LocalDate dueDate, double charged, double paid,
|
||||
double outstanding) {
|
||||
GetLoansLoanIdLoanChargeData chargeData = loanDetails.getCharges().get(index);
|
||||
assertEquals(dueDate, chargeData.getDueDate());
|
||||
assertEquals(charged, chargeData.getAmount());
|
||||
assertEquals(paid, chargeData.getAmountPaid());
|
||||
assertEquals(outstanding, chargeData.getAmountOutstanding());
|
||||
assertEquals(charged, Utils.getDoubleValue(chargeData.getAmount()));
|
||||
assertEquals(paid, Utils.getDoubleValue(chargeData.getAmountPaid()));
|
||||
assertEquals(outstanding, Utils.getDoubleValue(chargeData.getAmountOutstanding()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+4
-4
@@ -144,7 +144,7 @@ public class LoanTransactionReverseReplayTest extends BaseLoanIntegrationTest {
|
||||
GetLoansLoanIdResponse loansLoanIdResponse = loanTransactionHelper.getLoanDetails(loanExternalIdStr);
|
||||
int lastTransactionIndex = loansLoanIdResponse.getTransactions().size() - 1;
|
||||
assertTrue(loansLoanIdResponse.getTransactions().get(lastTransactionIndex).getType().getAccrual());
|
||||
assertEquals(10.0, loansLoanIdResponse.getTransactions().get(lastTransactionIndex).getAmount());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loansLoanIdResponse.getTransactions().get(lastTransactionIndex).getAmount()));
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
new PutGlobalConfigurationsRequest().enabled(false));
|
||||
@@ -193,7 +193,7 @@ public class LoanTransactionReverseReplayTest extends BaseLoanIntegrationTest {
|
||||
GetLoansLoanIdResponse loansLoanIdResponse = loanTransactionHelper.getLoanDetails(loanExternalIdStr);
|
||||
int lastTransactionIndex = loansLoanIdResponse.getTransactions().size() - 1;
|
||||
assertTrue(loansLoanIdResponse.getTransactions().get(lastTransactionIndex).getType().getAccrual());
|
||||
assertEquals(10.0, loansLoanIdResponse.getTransactions().get(lastTransactionIndex).getAmount());
|
||||
assertEquals(10.0, Utils.getDoubleValue(loansLoanIdResponse.getTransactions().get(lastTransactionIndex).getAmount()));
|
||||
int lastPeriodIndex = loansLoanIdResponse.getRepaymentSchedule().getPeriods().size() - 1;
|
||||
assertEquals(LocalDate.of(2022, 10, 10),
|
||||
loansLoanIdResponse.getRepaymentSchedule().getPeriods().get(lastPeriodIndex).getDueDate());
|
||||
@@ -286,7 +286,7 @@ public class LoanTransactionReverseReplayTest extends BaseLoanIntegrationTest {
|
||||
|
||||
GetLoansLoanIdResponse loansLoanIdResponse = loanTransactionHelper.getLoanDetails(loanExternalIdStr);
|
||||
int lastTransactionIndex = loansLoanIdResponse.getTransactions().size() - 1;
|
||||
assertEquals(500.0, loansLoanIdResponse.getTransactions().get(lastTransactionIndex).getAmount());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loansLoanIdResponse.getTransactions().get(lastTransactionIndex).getAmount()));
|
||||
|
||||
ArrayList<HashMap> journalEntriesForCBR = journalEntryHelper
|
||||
.getJournalEntriesByTransactionId("L" + cbrTransactionResponse.getResourceId().toString());
|
||||
@@ -327,7 +327,7 @@ public class LoanTransactionReverseReplayTest extends BaseLoanIntegrationTest {
|
||||
inlineLoanCOBHelper.executeInlineCOB(List.of(loanId.longValue()));
|
||||
loansLoanIdResponse = loanTransactionHelper.getLoanDetails(loanExternalIdStr);
|
||||
lastTransactionIndex = loansLoanIdResponse.getTransactions().size() - 1;
|
||||
assertEquals(500.0, loansLoanIdResponse.getTransactions().get(lastTransactionIndex).getAmount());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loansLoanIdResponse.getTransactions().get(lastTransactionIndex).getAmount()));
|
||||
|
||||
// replayed CBR transaction
|
||||
GetLoansLoanIdTransactions newCBRTransaction = loansLoanIdResponse.getTransactions().stream()
|
||||
|
||||
+12
-12
@@ -180,25 +180,25 @@ public class LoanTransactionSummaryTest {
|
||||
assertNotNull(loanSummary);
|
||||
|
||||
// repayment
|
||||
assertEquals(loanSummary.getTotalRepaymentTransaction(), 350.00);
|
||||
assertEquals(350.00, Utils.getDoubleValue(loanSummary.getTotalRepaymentTransaction()));
|
||||
// repayment reversed
|
||||
assertEquals(loanSummary.getTotalRepaymentTransactionReversed(), 50.00);
|
||||
assertEquals(50.00, Utils.getDoubleValue(loanSummary.getTotalRepaymentTransactionReversed()));
|
||||
// merchant refund
|
||||
assertEquals(loanSummary.getTotalMerchantRefund(), 100.00);
|
||||
assertEquals(100.00, Utils.getDoubleValue(loanSummary.getTotalMerchantRefund()));
|
||||
// merchant refund reversed
|
||||
assertEquals(loanSummary.getTotalMerchantRefundReversed(), 50.00);
|
||||
assertEquals(50.00, Utils.getDoubleValue(loanSummary.getTotalMerchantRefundReversed()));
|
||||
// payout refund
|
||||
assertEquals(loanSummary.getTotalPayoutRefund(), 100.00);
|
||||
assertEquals(100.00, Utils.getDoubleValue(loanSummary.getTotalPayoutRefund()));
|
||||
// payout refund reversed
|
||||
assertEquals(loanSummary.getTotalPayoutRefundReversed(), 50.00);
|
||||
assertEquals(50.00, Utils.getDoubleValue(loanSummary.getTotalPayoutRefundReversed()));
|
||||
// goodwill credit
|
||||
assertEquals(loanSummary.getTotalGoodwillCredit(), 100.00);
|
||||
assertEquals(100.00, Utils.getDoubleValue(loanSummary.getTotalGoodwillCredit()));
|
||||
// goodwill credit reversed
|
||||
assertEquals(loanSummary.getTotalGoodwillCreditReversed(), 50.00);
|
||||
assertEquals(50.00, Utils.getDoubleValue(loanSummary.getTotalGoodwillCreditReversed()));
|
||||
// charge adjustment
|
||||
assertEquals(loanSummary.getTotalChargeAdjustment(), 10.00);
|
||||
assertEquals(10.00, Utils.getDoubleValue(loanSummary.getTotalChargeAdjustment()));
|
||||
// charge
|
||||
assertEquals(loanSummary.getTotalChargeback(), 50.00);
|
||||
assertEquals(50.00, Utils.getDoubleValue(loanSummary.getTotalChargeback()));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -236,10 +236,10 @@ public class LoanTransactionSummaryTest {
|
||||
// Retrieve Loan with loanId
|
||||
GetLoansLoanIdResponse loanDetails = loanTransactionHelper.getLoanDetails((long) loanId);
|
||||
|
||||
assertEquals(20.0, loanDetails.getDelinquent().getLastPaymentAmount());
|
||||
assertEquals(20.0, Utils.getDoubleValue(loanDetails.getDelinquent().getLastPaymentAmount()));
|
||||
assertEquals(LocalDate.of(2022, 9, 8), loanDetails.getDelinquent().getLastPaymentDate());
|
||||
|
||||
assertEquals(100.0, loanDetails.getDelinquent().getLastRepaymentAmount());
|
||||
assertEquals(100.0, Utils.getDoubleValue(loanDetails.getDelinquent().getLastRepaymentAmount()));
|
||||
assertEquals(LocalDate.of(2022, 9, 7), loanDetails.getDelinquent().getLastRepaymentDate());
|
||||
}
|
||||
|
||||
|
||||
+172
-172
@@ -111,8 +111,8 @@ public class RefundForActiveLoansWithAdvancedPaymentAllocationTest extends BaseL
|
||||
new PostLoansLoanIdRequest().actualDisbursementDate("01 January 2023").dateFormat(DATETIME_PATTERN)
|
||||
.transactionAmount(BigDecimal.valueOf(1000.00)).locale("en"));
|
||||
|
||||
final float feePortion = 50.0f;
|
||||
final float penaltyPortion = 100.0f;
|
||||
final double feePortion = 50.00;
|
||||
final double penaltyPortion = 100.00;
|
||||
|
||||
Integer fee = ChargesHelper.createCharges(requestSpec, responseSpec, ChargesHelper
|
||||
.getLoanSpecifiedDueDateJSON(ChargesHelper.CHARGE_CALCULATION_TYPE_FLAT, String.valueOf(feePortion), false));
|
||||
@@ -141,30 +141,30 @@ public class RefundForActiveLoansWithAdvancedPaymentAllocationTest extends BaseL
|
||||
GetLoansLoanIdRepaymentPeriod thirdRepaymentInstallment = loanDetails.getRepaymentSchedule().getPeriods().get(4);
|
||||
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(feePortion, firstRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(feePortion, firstRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, firstRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(penaltyPortion, firstRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, firstRepaymentInstallment.getPrincipalDue());
|
||||
assertEquals(250.0f, firstRepaymentInstallment.getPrincipalOutstanding());
|
||||
assertEquals(400.0f, firstRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(400.0f, firstRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(feePortion, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalDue()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 1, 31), firstRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(feePortion, secondRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(feePortion, secondRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, secondRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(penaltyPortion, secondRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(400.0f, secondRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(400.0f, secondRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(feePortion, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 3, 2), secondRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 4, 1), thirdRepaymentInstallment.getDueDate());
|
||||
|
||||
businessDateHelper.updateBusinessDate(new BusinessDateRequest().type(BusinessDateType.BUSINESS_DATE.getName())
|
||||
@@ -178,30 +178,30 @@ public class RefundForActiveLoansWithAdvancedPaymentAllocationTest extends BaseL
|
||||
thirdRepaymentInstallment = loanDetails.getRepaymentSchedule().getPeriods().get(4);
|
||||
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(feePortion, firstRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, firstRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, firstRepaymentInstallment.getPrincipalDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getPrincipalOutstanding());
|
||||
assertEquals(400.0f, firstRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 1, 31), firstRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(feePortion, secondRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, secondRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, secondRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, secondRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(400.0f, secondRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(0.0f, secondRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 3, 2), secondRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(240.0f, thirdRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(240.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 4, 1), thirdRepaymentInstallment.getDueDate());
|
||||
|
||||
loanTransactionHelper.makeRefundByCash("01 March 2023", 15.0f, loanId);
|
||||
@@ -213,32 +213,32 @@ public class RefundForActiveLoansWithAdvancedPaymentAllocationTest extends BaseL
|
||||
thirdRepaymentInstallment = loanDetails.getRepaymentSchedule().getPeriods().get(4);
|
||||
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(feePortion, firstRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, firstRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, firstRepaymentInstallment.getPrincipalDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getPrincipalOutstanding());
|
||||
assertEquals(400.0f, firstRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 1, 31), firstRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(feePortion, secondRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, secondRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, secondRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, secondRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, secondRepaymentInstallment.getPrincipalDue());
|
||||
assertEquals(5.0f, secondRepaymentInstallment.getPrincipalOutstanding());
|
||||
assertEquals(400.0f, secondRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(5.0f, secondRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(secondRepaymentInstallment.getPrincipalDue()));
|
||||
assertEquals(5.00, Utils.getDoubleValue(secondRepaymentInstallment.getPrincipalOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(5.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 3, 2), secondRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 4, 1), thirdRepaymentInstallment.getDueDate());
|
||||
|
||||
loanTransactionHelper.makeRefundByCash("01 March 2023", 265.0f, loanId);
|
||||
@@ -250,32 +250,32 @@ public class RefundForActiveLoansWithAdvancedPaymentAllocationTest extends BaseL
|
||||
thirdRepaymentInstallment = loanDetails.getRepaymentSchedule().getPeriods().get(4);
|
||||
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(feePortion, firstRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, firstRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, firstRepaymentInstallment.getPrincipalDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getPrincipalOutstanding());
|
||||
assertEquals(400.0f, firstRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 1, 31), firstRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(feePortion, secondRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(20.0f, secondRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, secondRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, secondRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, secondRepaymentInstallment.getPrincipalDue());
|
||||
assertEquals(250.0f, secondRepaymentInstallment.getPrincipalOutstanding());
|
||||
assertEquals(400.0f, secondRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(270.0f, secondRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(20.00, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(secondRepaymentInstallment.getPrincipalDue()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(secondRepaymentInstallment.getPrincipalOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(270.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 3, 2), secondRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 4, 1), thirdRepaymentInstallment.getDueDate());
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
@@ -312,8 +312,8 @@ public class RefundForActiveLoansWithAdvancedPaymentAllocationTest extends BaseL
|
||||
new PostLoansLoanIdRequest().actualDisbursementDate("01 January 2023").dateFormat(DATETIME_PATTERN)
|
||||
.transactionAmount(BigDecimal.valueOf(1000.00)).locale("en"));
|
||||
|
||||
final float feePortion = 50.0f;
|
||||
final float penaltyPortion = 100.0f;
|
||||
final double feePortion = 50.00;
|
||||
final double penaltyPortion = 100.00;
|
||||
|
||||
Integer fee = ChargesHelper.createCharges(requestSpec, responseSpec, ChargesHelper
|
||||
.getLoanSpecifiedDueDateJSON(ChargesHelper.CHARGE_CALCULATION_TYPE_FLAT, String.valueOf(feePortion), false));
|
||||
@@ -342,30 +342,30 @@ public class RefundForActiveLoansWithAdvancedPaymentAllocationTest extends BaseL
|
||||
GetLoansLoanIdRepaymentPeriod thirdRepaymentInstallment = loanDetails.getRepaymentSchedule().getPeriods().get(4);
|
||||
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(feePortion, firstRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(feePortion, firstRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, firstRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(penaltyPortion, firstRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, firstRepaymentInstallment.getPrincipalDue());
|
||||
assertEquals(250.0f, firstRepaymentInstallment.getPrincipalOutstanding());
|
||||
assertEquals(400.0f, firstRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(400.0f, firstRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(feePortion, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalDue()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 1, 31), firstRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(feePortion, secondRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(feePortion, secondRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, secondRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(penaltyPortion, secondRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(400.0f, secondRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(400.0f, secondRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(feePortion, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 3, 2), secondRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 4, 1), thirdRepaymentInstallment.getDueDate());
|
||||
|
||||
businessDateHelper.updateBusinessDate(new BusinessDateRequest().type(BusinessDateType.BUSINESS_DATE.getName())
|
||||
@@ -379,30 +379,30 @@ public class RefundForActiveLoansWithAdvancedPaymentAllocationTest extends BaseL
|
||||
thirdRepaymentInstallment = loanDetails.getRepaymentSchedule().getPeriods().get(4);
|
||||
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(feePortion, firstRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, firstRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, firstRepaymentInstallment.getPrincipalDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getPrincipalOutstanding());
|
||||
assertEquals(400.0f, firstRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 1, 31), firstRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(feePortion, secondRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, secondRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, secondRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, secondRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(400.0f, secondRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(0.0f, secondRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 3, 2), secondRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(240.0f, thirdRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(240.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 4, 1), thirdRepaymentInstallment.getDueDate());
|
||||
|
||||
loanTransactionHelper.makeRefundByCash("28 January 2023", 15.0f, loanId);
|
||||
@@ -414,32 +414,32 @@ public class RefundForActiveLoansWithAdvancedPaymentAllocationTest extends BaseL
|
||||
thirdRepaymentInstallment = loanDetails.getRepaymentSchedule().getPeriods().get(4);
|
||||
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(feePortion, firstRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, firstRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, firstRepaymentInstallment.getPrincipalDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getPrincipalOutstanding());
|
||||
assertEquals(400.0f, firstRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 1, 31), firstRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(feePortion, secondRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, secondRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, secondRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, secondRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, secondRepaymentInstallment.getPrincipalDue());
|
||||
assertEquals(5.0f, secondRepaymentInstallment.getPrincipalOutstanding());
|
||||
assertEquals(400.0f, secondRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(5.0f, secondRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(secondRepaymentInstallment.getPrincipalDue()));
|
||||
assertEquals(5.00, Utils.getDoubleValue(secondRepaymentInstallment.getPrincipalOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(5.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 3, 2), secondRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 4, 1), thirdRepaymentInstallment.getDueDate());
|
||||
|
||||
// fully unpaying the second installment
|
||||
@@ -452,32 +452,32 @@ public class RefundForActiveLoansWithAdvancedPaymentAllocationTest extends BaseL
|
||||
thirdRepaymentInstallment = loanDetails.getRepaymentSchedule().getPeriods().get(4);
|
||||
|
||||
assertEquals(5, loanDetails.getRepaymentSchedule().getPeriods().size());
|
||||
assertEquals(feePortion, firstRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, firstRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, firstRepaymentInstallment.getPrincipalDue());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getPrincipalOutstanding());
|
||||
assertEquals(400.0f, firstRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(0.0f, firstRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getPrincipalOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(firstRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 1, 31), firstRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(feePortion, secondRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(feePortion, secondRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(penaltyPortion, secondRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(penaltyPortion, secondRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, secondRepaymentInstallment.getPrincipalDue());
|
||||
assertEquals(250.0f, secondRepaymentInstallment.getPrincipalOutstanding());
|
||||
assertEquals(400.0f, secondRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(400.0f, secondRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(feePortion, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(feePortion, Utils.getDoubleValue(secondRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(penaltyPortion, Utils.getDoubleValue(secondRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(secondRepaymentInstallment.getPrincipalDue()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(secondRepaymentInstallment.getPrincipalOutstanding()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(400.00, Utils.getDoubleValue(secondRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 3, 2), secondRepaymentInstallment.getDueDate());
|
||||
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getFeeChargesOutstanding());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesDue());
|
||||
assertEquals(0.0f, thirdRepaymentInstallment.getPenaltyChargesOutstanding());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalDueForPeriod());
|
||||
assertEquals(250.0f, thirdRepaymentInstallment.getTotalOutstandingForPeriod());
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getFeeChargesOutstanding()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesDue()));
|
||||
assertEquals(0.00, Utils.getDoubleValue(thirdRepaymentInstallment.getPenaltyChargesOutstanding()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalDueForPeriod()));
|
||||
assertEquals(250.00, Utils.getDoubleValue(thirdRepaymentInstallment.getTotalOutstandingForPeriod()));
|
||||
assertEquals(LocalDate.of(2023, 4, 1), thirdRepaymentInstallment.getDueDate());
|
||||
} finally {
|
||||
globalConfigurationHelper.updateGlobalConfiguration(GlobalConfigurationConstants.ENABLE_BUSINESS_DATE,
|
||||
|
||||
+1
-1
@@ -968,7 +968,7 @@ public class SchedulerJobsTestResults extends IntegrationTest {
|
||||
GetLoansLoanIdResponse getLoansLoanIdResponse = loanTransactionHelper.getLoan(requestSpec, responseSpec, loanID);
|
||||
// First accrual transaction
|
||||
assertTrue(getLoansLoanIdResponse.getTransactions().get(1).getType().getAccrual());
|
||||
assertEquals(10.0f, getLoansLoanIdResponse.getTransactions().get(1).getFeeChargesPortion());
|
||||
assertEquals(10.00, Utils.getDoubleValue(getLoansLoanIdResponse.getTransactions().get(1).getFeeChargesPortion()));
|
||||
assertEquals(LocalDate.of(2020, 6, 2), getLoansLoanIdResponse.getTransactions().get(1).getDate());
|
||||
Long transactionId = getLoansLoanIdResponse.getTransactions().get(1).getId();
|
||||
|
||||
|
||||
+1
-1
@@ -191,7 +191,7 @@ public class UndoRepaymentWithDownPaymentIntegrationTest extends BaseLoanIntegra
|
||||
assertNotNull(postLoansLoanIdTransactionsResponse1);
|
||||
|
||||
loanDetails = loanTransactionHelper.getLoanDetails(loanId.longValue());
|
||||
assertEquals(500, loanDetails.getSummary().getTotalOutstanding());
|
||||
assertEquals(500.0, Utils.getDoubleValue(loanDetails.getSummary().getTotalOutstanding()));
|
||||
}
|
||||
|
||||
private Integer createLoanProductWithPeriodicAccrualAccountingAndAdvancedPaymentAllocationStrategy() {
|
||||
|
||||
+1
-1
@@ -2793,7 +2793,7 @@ public class LoanTransactionHelper {
|
||||
GetLoansLoanIdSummary getLoansLoanIdSummary = getLoansLoanIdResponse.getSummary();
|
||||
if (getLoansLoanIdSummary != null) {
|
||||
log.info("Loan with Principal Adjustments {} expected {}", getLoansLoanIdSummary.getPrincipalAdjustments(), amountExpected);
|
||||
assertEquals(amountExpected, getLoansLoanIdSummary.getPrincipalAdjustments());
|
||||
assertEquals(amountExpected, Utils.getDoubleValue(getLoansLoanIdSummary.getPrincipalAdjustments()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -183,7 +183,7 @@ public class DelinquencyBucketsHelper {
|
||||
log.info("Loan Delinquency Data in Days {} and Amount {}", getCollectionData.getPastDueDays(),
|
||||
getCollectionData.getDelinquentAmount());
|
||||
assertEquals(pastDueDays, getCollectionData.getPastDueDays(), "Past due days");
|
||||
assertEquals(amountExpected, getCollectionData.getDelinquentAmount(), "Amount expected");
|
||||
assertEquals(amountExpected, Utils.getDoubleValue(getCollectionData.getDelinquentAmount()), "Amount expected");
|
||||
} else {
|
||||
log.info("Loan Delinquency Data is null");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user