@@ -724,21 +724,34 @@ private void assertGLAccountMappingId(final Map<String, ?> mappings, final Strin
724724 assertions .assertAll ();
725725 }
726726
727- @ When ("make Internal Payment {string} on {string}" )
727+ private Long getWorkingCapitalLoanResourceId () {
728+ PostWorkingCapitalLoansResponse response = testContext ().get (TestContextKey .LOAN_CREATE_RESPONSE );
729+ return response .getResourceId ();
730+ }
731+
732+ @ When ("Admin makes Internal Payment {string} on {string}" )
728733 public void internalPayWCLoan (String amount , String transactionDate ) {
729- PostWorkingCapitalLoansResponse workingCapitalLoanProductsResponse = testContext ().get (TestContextKey .LOAN_CREATE_RESPONSE );
730- Long resourceId = workingCapitalLoanProductsResponse .getResourceId ();
734+ Long resourceId = getWorkingCapitalLoanResourceId ();
731735 fineractFeignClient .workingCapitalLoans ().payment (resourceId , new InternalWorkingCapitalLoanPaymentRequest ()
732736 .amount (BigDecimal .valueOf (Double .parseDouble (amount ))).transactionDate (LocalDate .parse (transactionDate )));
733737 }
734738
735- @ Then ("Delinquency Tag History for WC Loan has lines:" )
739+ @ Then ("Delinquency Tag History for Working Capital loan has lines:" )
736740 public void checkDelinquencyHistory (final DataTable table ) {
737- PostWorkingCapitalLoansResponse workingCapitalLoanProductsResponse = testContext ().get (TestContextKey .LOAN_CREATE_RESPONSE );
738- Long resourceId = workingCapitalLoanProductsResponse .getResourceId ();
741+ Long resourceId = getWorkingCapitalLoanResourceId ();
739742 List <GetWorkingCapitalLoanDelinquencyRangeScheduleTagHistoryResponse > actualLines = ok (
740743 () -> fineractFeignClient .workingCapitalLoans ().getDelinquencyRangeScheduleTagHistoryById (resourceId ));
741- log .info ("Loan {}" , actualLines );
744+
745+ // Sort by addedOnDate (descending), then by periodNumber (descending)
746+ actualLines .sort ((a , b ) -> {
747+ int dateCompare = b .getAddedOnDate ().compareTo (a .getAddedOnDate ());
748+ if (dateCompare != 0 ) {
749+ return dateCompare ;
750+ }
751+ return b .getPeriodNumber ().compareTo (a .getPeriodNumber ());
752+ });
753+
754+ log .debug ("Sorted Loan Delinquency History: {}" , actualLines );
742755 List <List <String >> rows = table .asLists ();
743756 Assertions .assertEquals (rows .size () - 1 , actualLines .size ());
744757 for (int i = 0 ; i < rows .size () - 1 ; i ++) {
0 commit comments