This is an automated email from the ASF dual-hosted git repository.
arnold pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new e66da3eab FINERACT-2059: Re-aging repayment schedule handling
e66da3eab is described below
commit e66da3eaba3475cb52994ea8d7909e3df75ab4b6
Author: Adam Saghy <[email protected]>
AuthorDate: Tue Mar 19 13:16:03 2024 +0100
FINERACT-2059: Re-aging repayment schedule handling
---
.../impl/AdvancedPaymentScheduleTransactionProcessor.java | 2 +-
.../org/apache/fineract/integrationtests/BaseLoanIntegrationTest.java | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git
a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessor.java
b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessor.java
index 30d876ef7..10c6e1c41 100644
---
a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessor.java
+++
b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessor.java
@@ -1335,7 +1335,7 @@ public class AdvancedPaymentScheduleTransactionProcessor
extends AbstractLoanRep
}
private void
reprocessInstallmentsOrder(List<LoanRepaymentScheduleInstallment> installments)
{
- AtomicInteger counter = new AtomicInteger(0);
+ AtomicInteger counter = new AtomicInteger(1);
installments.stream().sorted(LoanRepaymentScheduleInstallment::compareToByDueDate)
.forEachOrdered(i ->
i.updateInstallmentNumber(counter.getAndIncrement()));
}
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/BaseLoanIntegrationTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/BaseLoanIntegrationTest.java
index ccf4d02a1..fe7b07331 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/BaseLoanIntegrationTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/BaseLoanIntegrationTest.java
@@ -462,6 +462,7 @@ public abstract class BaseLoanIntegrationTest {
Assertions.assertEquals(installments.length,
loanResponse.getRepaymentSchedule().getPeriods().size(),
"Expected installments are not matching with the installments
configured on the loan");
+ int installmentNumber = 0;
for (int i = 1; i < installments.length; i++) {
GetLoansLoanIdRepaymentPeriod period =
loanResponse.getRepaymentSchedule().getPeriods().get(i);
Double principalDue = period.getPrincipalDue();
@@ -546,6 +547,8 @@ public abstract class BaseLoanIntegrationTest {
outstandingTotalExpected,
outstandingTotal));
}
+ installmentNumber++;
+ Assertions.assertEquals(installmentNumber, period.getPeriod());
}
Assertions.assertEquals(installments[i].completed,
period.getComplete());
Assertions.assertEquals(LocalDate.parse(installments[i].dueDate,
dateTimeFormatter), period.getDueDate());