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());

Reply via email to