Skip to content

Commit 8e34003

Browse files
MarianaDmytrivBinariksadamsaghy
authored andcommitted
FINERACT-2354: e2e tests for re-age preview with equal amortization
1 parent 77c1f33 commit 8e34003

File tree

3 files changed

+847
-31
lines changed

3 files changed

+847
-31
lines changed

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

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import java.time.format.DateTimeFormatter;
3434
import java.util.ArrayList;
3535
import java.util.Arrays;
36+
import java.util.HashMap;
3637
import java.util.LinkedHashMap;
3738
import java.util.List;
3839
import java.util.Map;
@@ -296,43 +297,35 @@ public void reAgeContractTerminatedLoanFailure(final DataTable table) throws IOE
296297
assertThat(exception.getDeveloperMessage()).contains(ErrorMessageHelper.reAgeContractTerminatedLoanFailure());
297298
}
298299

300+
private Map<String, Object> resolveReAgingQueryParams(DataTable table) {
301+
List<String> header = table.asLists().get(0);
302+
List<String> data = table.asLists().get(1);
303+
Map<String, Object> queryParams = new HashMap<>(Map.of("dateFormat", DATE_FORMAT, "locale", "en"));
304+
for (int i = 0; i < header.size(); i++) {
305+
queryParams.put(header.get(i), data.get(i));
306+
}
307+
return queryParams;
308+
}
309+
299310
@When("Admin creates a Loan re-aging preview with the following data:")
300311
public void createReAgingPreview(DataTable table) throws IOException {
301312
PostLoansResponse loanResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE);
302313
long loanId = loanResponse.getLoanId();
303314

304-
List<String> data = table.asLists().get(1);
305-
int frequencyNumber = Integer.parseInt(data.get(0));
306-
String frequencyType = data.get(1);
307-
String startDate = data.get(2);
308-
int numberOfInstallments = Integer.parseInt(data.get(3));
309-
310-
Map<String, Object> queryParams = Map.of("frequencyNumber", frequencyNumber, "frequencyType", frequencyType, "startDate", startDate,
311-
"numberOfInstallments", numberOfInstallments, "dateFormat", DATE_FORMAT, "locale", "en");
315+
Map<String, Object> queryParams = resolveReAgingQueryParams(table);
312316
LoanScheduleData response = ok(() -> fineractClient.loanTransactions().previewReAgeSchedule(loanId, queryParams));
313317
testContext().set(TestContextKey.LOAN_REAGING_PREVIEW_RESPONSE, response);
314318

315-
log.info(
316-
"Re-aging preview created for loan ID: {} with parameters: frequencyNumber={}, frequencyType={}, startDate={}, numberOfInstallments={}",
317-
loanId, frequencyNumber, frequencyType, startDate, numberOfInstallments);
319+
log.info("Re-aging preview created for loan ID: {} with parameters: {}", loanId, queryParams);
318320
}
319321

320322
public LoanScheduleData reAgingPreviewByLoanExternalId(DataTable table) throws IOException {
321323
PostLoansResponse loanResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE);
322324
String loanExternalId = loanResponse.getResourceExternalId();
323325

324-
List<String> data = table.asLists().get(1);
325-
int frequencyNumber = Integer.parseInt(data.get(0));
326-
String frequencyType = data.get(1);
327-
String startDate = data.get(2);
328-
int numberOfInstallments = Integer.parseInt(data.get(3));
329-
330-
Map<String, Object> queryParams = Map.of("frequencyNumber", frequencyNumber, "frequencyType", frequencyType, "startDate", startDate,
331-
"numberOfInstallments", numberOfInstallments, "dateFormat", DATE_FORMAT, "locale", "en");
326+
Map<String, Object> queryParams = resolveReAgingQueryParams(table);
332327
LoanScheduleData result = ok(() -> fineractClient.loanTransactions().previewReAgeSchedule1(loanExternalId, queryParams));
333-
log.info(
334-
"Re-aging preview is requested to be created with loan external ID: {} with parameters: frequencyNumber={}, frequencyType={}, startDate={}, numberOfInstallments={}",
335-
loanExternalId, frequencyNumber, frequencyType, startDate, numberOfInstallments);
328+
log.info("Re-aging preview is requested to be created with loan external ID: {} with parameters: {}", loanExternalId, queryParams);
336329
return result;
337330
}
338331

fineract-e2e-tests-runner/src/test/resources/features/LoanReAging.feature

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11650,7 +11650,7 @@ Then Loan Repayment schedule has 4 periods, with the following data for periods:
1165011650
| 1 | 0 | 01 January 2024 | 01 January 2024 | 75.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 25.0 | 0.0 | 0.0 | 0.0 |
1165111651
| 2 | 31 | 01 February 2024 | 01 February 2024 | 62.68 | 12.32 | 0.44 | 0.0 | 0.0 | 12.76 | 12.76 | 0.0 | 0.0 | 0.0 |
1165211652
| 3 | 29 | 01 March 2024 | 15 March 2024 | 62.68 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
11653-
| 4 | 14 | 15 March 2024 | 15 March 2024 | 62.68 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
11653+
| 4 | 14 | 15 March 2024 | 15 March 2024 | 62.68 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
1165411654
| 5 | 17 | 01 April 2024 | | 52.23 | 10.45 | 0.19 | 0.0 | 0.0 | 10.64 | 0.0 | 0.0 | 0.0 | 10.64 |
1165511655
| 6 | 30 | 01 May 2024 | | 41.78 | 10.45 | 0.19 | 0.0 | 0.0 | 10.64 | 0.0 | 0.0 | 0.0 | 10.64 |
1165611656
| 7 | 31 | 01 June 2024 | | 31.33 | 10.45 | 0.19 | 0.0 | 0.0 | 10.64 | 0.0 | 0.0 | 0.0 | 10.64 |

0 commit comments

Comments
 (0)