FINERACT-1981: Enable backdated Interest Payment Waiver on progressive loans
This commit is contained in:
+3
-1
@@ -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.LoanDisbursalException;
|
||||||
import org.apache.fineract.portfolio.loanaccount.exception.LoanNotFoundException;
|
import org.apache.fineract.portfolio.loanaccount.exception.LoanNotFoundException;
|
||||||
import org.apache.fineract.portfolio.loanaccount.exception.LoanRepaymentScheduleNotFoundException;
|
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.loanaccount.service.LoanUtilService;
|
||||||
import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
|
import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
|
||||||
import org.jetbrains.annotations.NotNull;
|
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) {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
LocalDate lastTransactionDate = loan.getLastUserTransactionDate();
|
LocalDate lastTransactionDate = loan.getLastUserTransactionDate();
|
||||||
|
|||||||
+10
@@ -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);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user