Skip to content

Commit 8d21af6

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

File tree

4 files changed

+575
-82
lines changed

4 files changed

+575
-82
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -872,10 +872,10 @@ private void createWorkingCapitalLoanAccount(final List<String> loanData) {
872872

873873
@SuppressWarnings("unchecked")
874874
private void trackLoanIdIfEnabled(final Long loanId) {
875-
final List<Long> trackedIds = testContext().get(TestContextKey.WC_LOAN_IDS);
876-
if (trackedIds != null) {
877-
trackedIds.add(loanId);
875+
if (testContext().get(TestContextKey.WC_LOAN_IDS) == null) {
876+
testContext().set(TestContextKey.WC_LOAN_IDS, new ArrayList<>());
878877
}
878+
((List<Long>) testContext().get(TestContextKey.WC_LOAN_IDS)).add(loanId);
879879
}
880880

881881
private void modifyWorkingCapitalLoanAccount(final List<String> loanData) {

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)