FINERACT-2181: add e2e test to cover additional future unrecognized interest use-case

This commit is contained in:
mark.vituska
2025-06-18 22:56:33 +02:00
committed by Adam Saghy
parent 5aa4afb87c
commit 5a7d2d42f9
3 changed files with 204 additions and 0 deletions
@@ -364,6 +364,13 @@ public final class ErrorMessageHelper {
expectedToStr);
}
public static String wrongAmountInTotalUnpaidPayableDueInterest(Double actual, Double expected) {
String actualToStr = actual.toString();
String expectedToStr = expected.toString();
return String.format("Wrong amount in Loan total unpaid payable due interest. Actual amount is: %s - But expected amount is: %s",
actualToStr, expectedToStr);
}
public static String wrongAmountInTotalOverdue(Double actual, Double expected) {
String actualToStr = actual.toString();
String expectedToStr = expected.toString();
@@ -1907,6 +1907,22 @@ public class LoanStepDef extends AbstractStepDef {
.isEqualTo(totalInterestOutstandingExpected);
}
@Then("Loan has {double} total unpaid payable due interest")
public void loanTotalUnpaidPayableDueInterest(double totalUnpaidPayableDueInterestExpected) throws IOException {
Response<PostLoansResponse> loanCreateResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE);
long loanId = loanCreateResponse.body().getLoanId();
Response<GetLoansLoanIdResponse> loanDetailsResponse = loansApi.retrieveLoan(loanId, false, "repaymentSchedule", "", "").execute();
ErrorHelper.checkSuccessfulApiCall(loanDetailsResponse);
testContext().set(TestContextKey.LOAN_RESPONSE, loanDetailsResponse);
Double totalUnpaidPayableDueInterestActual = loanDetailsResponse.body().getSummary().getTotalUnpaidPayableDueInterest()
.doubleValue();
assertThat(totalUnpaidPayableDueInterestActual).as(ErrorMessageHelper
.wrongAmountInTotalUnpaidPayableDueInterest(totalUnpaidPayableDueInterestActual, totalUnpaidPayableDueInterestExpected))
.isEqualTo(totalUnpaidPayableDueInterestExpected);
}
@Then("Loan has {double} overpaid amount")
public void loanOverpaid(double totalOverpaidExpected) throws IOException {
Response<PostLoansResponse> loanCreateResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE);