Skip to content

Commit 4c9ea1f

Browse files
peter-kovacs-dpcadamsaghy
authored andcommitted
FINERACT-2455: WC - Delinquency Management - Delinquency days & Delinquency Bucket handling - E2E tests
1 parent 126e7d6 commit 4c9ea1f

3 files changed

Lines changed: 572 additions & 79 deletions

File tree

fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/WorkingCapitalStepDef.java

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)