FINERACT-1981: Enable backdated Interest Payment Waiver on progressive loans

This commit is contained in:
adam.magyari
2024-10-24 11:34:22 +02:00
committed by Adam Saghy
parent 256afa1e51
commit 2469f22280
2 changed files with 13 additions and 1 deletions
@@ -84,6 +84,7 @@ import org.apache.fineract.portfolio.loanaccount.exception.LoanChargeRefundExcep
import org.apache.fineract.portfolio.loanaccount.exception.LoanDisbursalException;
import org.apache.fineract.portfolio.loanaccount.exception.LoanNotFoundException;
import org.apache.fineract.portfolio.loanaccount.exception.LoanRepaymentScheduleNotFoundException;
import org.apache.fineract.portfolio.loanaccount.loanschedule.domain.LoanScheduleType;
import org.apache.fineract.portfolio.loanaccount.service.LoanUtilService;
import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
import org.jetbrains.annotations.NotNull;
@@ -778,7 +779,8 @@ public final class LoanTransactionValidator {
}
public void validateActivityNotBeforeLastTransactionDate(final Loan loan, final LocalDate activityDate, final LoanEvent event) {
if (!(loan.repaymentScheduleDetail().isInterestRecalculationEnabled() || loan.loanProduct().isHoldGuaranteeFunds())) {
if (!(loan.repaymentScheduleDetail().isInterestRecalculationEnabled() || loan.loanProduct().isHoldGuaranteeFunds())
|| !loan.getLoanRepaymentScheduleDetail().getLoanScheduleType().equals(LoanScheduleType.CUMULATIVE)) {
return;
}
LocalDate lastTransactionDate = loan.getLastUserTransactionDate();
@@ -105,4 +105,14 @@ public class LoanTransactionBackdatedProgressiveTest extends BaseLoanIntegration
});
}
@Test
public void testProgressiveBackdatedInterestPaymentWaiver() {
runAt("01 July 2024", () -> {
loanTransactionHelper.makeInterestPaymentWaiver(loanId, new PostLoansLoanIdTransactionsRequest().dateFormat(DATETIME_PATTERN)
.transactionDate("5 June 2024").locale("en").transactionAmount(100.0));
GetLoansLoanIdResponse loanDetails = loanTransactionHelper.getLoanDetails(loanId);
Assertions.assertTrue(loanDetails.getTransactions().size() >= 2);
});
}
}