adamsaghy commented on code in PR #3645:
URL: https://github.com/apache/fineract/pull/3645#discussion_r1431229973
##########
integration-tests/src/test/java/org/apache/fineract/integrationtests/SchedulerJobsTestResults.java:
##########
@@ -329,21 +331,49 @@ public void testApplyHolidaysToLoansJobOutcome() throws
InterruptedException {
if (!enabled) {
enabled = true;
- configId =
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(requestSpec,
responseSpec, configId, enabled);
+
GlobalConfigurationHelper.updateEnabledFlagForGlobalConfiguration(requestSpec,
responseSpec, configId, enabled);
}
holidayId = HolidayHelper.activateHolidays(requestSpec, responseSpec,
holidayId.toString());
Assertions.assertNotNull(holidayId);
+ HashMap holidayData = HolidayHelper.getHolidayById(requestSpec,
responseSpec, holidayId.toString());
+ ArrayList<Integer> repaymentsRescheduledDate = (ArrayList<Integer>)
holidayData.get("repaymentsRescheduledTo");
+
+ // Loan Repayment Schedule Before Apply Holidays To Loans
+ LinkedHashMap repaymentScheduleHashMap =
JsonPath.from(loanDetails).get("repaymentSchedule");
+ ArrayList<LinkedHashMap> periods = (ArrayList<LinkedHashMap>)
repaymentScheduleHashMap.get("periods");
+
+ for (LinkedHashMap period : periods) {
+ ArrayList<Integer> fromDate = (ArrayList<Integer>)
period.get("fromDate");
+ if (fromDate != null && Objects.equals(fromDate.get(1),
repaymentsRescheduledDate.get(1))) {
+ Assertions.assertNotEquals(repaymentsRescheduledDate.get(2),
fromDate.get(2),
+ "Verifying Repayment Rescheduled Day before Running
Apply Holidays to Loans Scheduler Job");
+ }
+ }
+
String JobName = "Apply Holidays To Loans";
this.schedulerJobHelper.executeAndAwaitJob(JobName);
- HashMap holidayData = HolidayHelper.getHolidayById(requestSpec,
responseSpec, holidayId.toString());
- ArrayList<Integer> repaymentsRescheduledDate = (ArrayList<Integer>)
holidayData.get("repaymentsRescheduledTo");
+ // Loan Repayment Schedule After Apply Holidays To Loans
+ loanDetails = this.loanTransactionHelper.getLoanDetails(requestSpec,
responseSpec, loanID);
+ repaymentScheduleHashMap =
JsonPath.from(loanDetails).get("repaymentSchedule");
+ periods = (ArrayList<LinkedHashMap>)
repaymentScheduleHashMap.get("periods");
+ ArrayList<Integer> dateToApplyHolidays = null;
+
+ for (LinkedHashMap period : periods) {
+ ArrayList<Integer> fromDate = (ArrayList<Integer>)
period.get("fromDate");
+ if (fromDate != null && Objects.equals(fromDate.get(1),
repaymentsRescheduledDate.get(1))) {
+ dateToApplyHolidays = fromDate;
+ }
+ }
- Assertions.assertEquals(repaymentsRescheduledDate,
repaymentsRescheduledDate,
- "Verifying Repayment Rescheduled Date after Running Apply
Holidays to Loans Scheduler Job");
Review Comment:
This test is not really testing whether only the schedule that fall on that
particular date was rescheduled. You should check whether the following periods
after the one that got rescheduled was not moved.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]