magyari-adam commented on code in PR #4282:
URL: https://github.com/apache/fineract/pull/4282#discussion_r1933487957
##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanCOBCreateAccrualsTest.java:
##########
@@ -423,4 +424,44 @@ public void chargeForObligationMetLoan() {
});
}
+
+ @Test
+ public void testEarlyRepaymentAccruals() {
+ AtomicReference<Long> loanIdRef = new AtomicReference<>();
+ setup();
+ final PostLoanProductsResponse loanProductsResponse =
loanProductHelper.createLoanProduct(create4IProgressive());
+
+ runAt("20 December 2024", () -> {
+ Long loanId = applyAndApproveProgressiveLoan(client.getClientId(),
loanProductsResponse.getResourceId(), "20 December 2024",
+ 430.0, 26.0, 6, null);
+
+ loanIdRef.set(loanId);
+
+ disburseLoan(loanId, BigDecimal.valueOf(430), "20 December 2024");
+
+ GetLoansLoanIdResponse loanDetails =
loanTransactionHelper.getLoanDetails(loanId);
+ validateFullyUnpaidRepaymentPeriod(loanDetails, 1, "20 January
2025", 67.88, 0, 0, 9.32);
+ validateFullyUnpaidRepaymentPeriod(loanDetails, 2, "20 February
2025", 69.35, 0, 0, 7.85);
+ validateFullyUnpaidRepaymentPeriod(loanDetails, 3, "20 March
2025", 70.86, 0, 0, 6.34);
+ validateFullyUnpaidRepaymentPeriod(loanDetails, 4, "20 April
2025", 72.39, 0, 0, 4.81);
+ validateFullyUnpaidRepaymentPeriod(loanDetails, 5, "20 May 2025",
73.96, 0, 0, 3.24);
+ validateFullyUnpaidRepaymentPeriod(loanDetails, 6, "20 June 2025",
75.56, 0, 0, 1.64);
+
+ verifyTransactions(loanId, transaction(430.0d, "Disbursement", "20
December 2024"));
+ executeInlineCOB(loanId);
+ });
+ runAt("30 December 2024", () -> {
+ Long loanId = loanIdRef.get();
+ loanTransactionHelper.makeLoanRepayment("30 December 2024",
200.0F, loanId.intValue());
+ });
+ runAt("22 March 2025", () -> {
+ Long loanId = loanIdRef.get();
+ executeInlineCOB(loanId);
+
+ GetLoansLoanIdResponse loanDetails =
loanTransactionHelper.getLoanDetails(loanId);
+
Assertions.assertTrue(loanDetails.getTransactions().stream().noneMatch(t ->
(t.getType().getAccrual() && t.getAmount() > 0.31)
Review Comment:
Added checks for around due date.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]