|
33 | 33 | import java.time.format.DateTimeFormatter; |
34 | 34 | import java.util.ArrayList; |
35 | 35 | import java.util.Arrays; |
| 36 | +import java.util.HashMap; |
36 | 37 | import java.util.LinkedHashMap; |
37 | 38 | import java.util.List; |
38 | 39 | import java.util.Map; |
@@ -296,43 +297,35 @@ public void reAgeContractTerminatedLoanFailure(final DataTable table) throws IOE |
296 | 297 | assertThat(exception.getDeveloperMessage()).contains(ErrorMessageHelper.reAgeContractTerminatedLoanFailure()); |
297 | 298 | } |
298 | 299 |
|
| 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 | + |
299 | 310 | @When("Admin creates a Loan re-aging preview with the following data:") |
300 | 311 | public void createReAgingPreview(DataTable table) throws IOException { |
301 | 312 | PostLoansResponse loanResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE); |
302 | 313 | long loanId = loanResponse.getLoanId(); |
303 | 314 |
|
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); |
312 | 316 | LoanScheduleData response = ok(() -> fineractClient.loanTransactions().previewReAgeSchedule(loanId, queryParams)); |
313 | 317 | testContext().set(TestContextKey.LOAN_REAGING_PREVIEW_RESPONSE, response); |
314 | 318 |
|
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); |
318 | 320 | } |
319 | 321 |
|
320 | 322 | public LoanScheduleData reAgingPreviewByLoanExternalId(DataTable table) throws IOException { |
321 | 323 | PostLoansResponse loanResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE); |
322 | 324 | String loanExternalId = loanResponse.getResourceExternalId(); |
323 | 325 |
|
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); |
332 | 327 | 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); |
336 | 329 | return result; |
337 | 330 | } |
338 | 331 |
|
|
0 commit comments