- [x] Move from JobParameter to CustomJobParameter
- [x] Improve CustomJobParameterResolver to raise custom exception and work with StepExecution - [x] Improve tests
This commit is contained in:
committed by
Arnold Gálovics
parent
0458643d8f
commit
ac1aeea12d
+7
-1
@@ -20,6 +20,7 @@ package org.apache.fineract.cob.loan;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.lenient;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -29,6 +30,8 @@ import java.time.LocalDate;
|
||||
import java.time.ZoneId;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import org.apache.fineract.cob.common.CustomJobParameterResolver;
|
||||
import org.apache.fineract.cob.data.LoanCOBParameter;
|
||||
import org.apache.fineract.cob.domain.LoanAccountLock;
|
||||
import org.apache.fineract.cob.domain.LockOwner;
|
||||
@@ -51,8 +54,10 @@ public class ApplyLoanLockTaskletStepDefinitions implements En {
|
||||
private FineractProperties fineractProperties = mock(FineractProperties.class);
|
||||
private FineractProperties.FineractQueryProperties fineractQueryProperties = mock(FineractProperties.FineractQueryProperties.class);
|
||||
private RetrieveLoanIdService retrieveLoanIdService = mock(RetrieveLoanIdService.class);
|
||||
|
||||
private CustomJobParameterResolver customJobParameterResolver = mock(CustomJobParameterResolver.class);
|
||||
private ApplyLoanLockTasklet applyLoanLockTasklet = new ApplyLoanLockTasklet(fineractProperties, loanLockingService,
|
||||
retrieveLoanIdService);
|
||||
retrieveLoanIdService, customJobParameterResolver);
|
||||
private RepeatStatus resultItem;
|
||||
private StepContribution stepContribution;
|
||||
|
||||
@@ -86,6 +91,7 @@ public class ApplyLoanLockTaskletStepDefinitions implements En {
|
||||
lenient().when(fineractQueryProperties.getInClauseParameterSizeLimit()).thenReturn(65000);
|
||||
lenient().when(loanLockingService.findAllByLoanIdIn(Mockito.anyList())).thenReturn(accountLocks);
|
||||
}
|
||||
lenient().when(customJobParameterResolver.getCustomJobParameterSet(any())).thenReturn(Optional.empty());
|
||||
|
||||
});
|
||||
|
||||
|
||||
+6
-2
@@ -29,6 +29,8 @@ import java.time.ZoneId;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import org.apache.fineract.cob.common.CustomJobParameterResolver;
|
||||
import org.apache.fineract.cob.data.LoanCOBParameter;
|
||||
import org.apache.fineract.cob.domain.LoanAccountLock;
|
||||
import org.apache.fineract.cob.domain.LoanAccountLockRepository;
|
||||
@@ -60,6 +62,8 @@ public class FetchAndLockLoanStepDefinitions implements En {
|
||||
private RepeatStatus result;
|
||||
private final LoanLockingService loanLockingService = mock(LoanLockingService.class);
|
||||
|
||||
private final CustomJobParameterResolver customJobParameterResolver = mock(CustomJobParameterResolver.class);
|
||||
|
||||
public FetchAndLockLoanStepDefinitions() {
|
||||
Given("/^The FetchAndLockLoanTasklet.execute method with action (.*)$/", (String action) -> {
|
||||
ThreadLocalContextUtil.setTenant(new FineractPlatformTenant(1L, "default", "Default", "Asia/Kolkata", null));
|
||||
@@ -73,7 +77,7 @@ public class FetchAndLockLoanStepDefinitions implements En {
|
||||
contribution = new StepContribution(stepExecution);
|
||||
contribution.getStepExecution().getJobExecution().getExecutionContext().put(LoanCOBConstant.BUSINESS_DATE_PARAMETER_NAME,
|
||||
LocalDate.now(ZoneId.systemDefault()).toString());
|
||||
|
||||
lenient().when(customJobParameterResolver.getCustomJobParameterSet(Mockito.any())).thenReturn(Optional.empty());
|
||||
if ("empty loanIds".equals(action)) {
|
||||
contribution.getStepExecution().getJobExecution().getExecutionContext().put(LoanCOBConstant.LOAN_COB_PARAMETER,
|
||||
new LoanCOBParameter(0L, 0L));
|
||||
@@ -106,7 +110,7 @@ public class FetchAndLockLoanStepDefinitions implements En {
|
||||
List.of(new LoanAccountLock(3L, LockOwner.LOAN_COB_CHUNK_PROCESSING, LocalDate.now(ZoneId.systemDefault()))));
|
||||
}
|
||||
|
||||
lockLoanTasklet = new LockLoanTasklet(loanLockingService);
|
||||
lockLoanTasklet = new LockLoanTasklet(loanLockingService, customJobParameterResolver);
|
||||
});
|
||||
|
||||
When("FetchAndLockLoanTasklet.execute method executed", () -> {
|
||||
|
||||
+6
-2
@@ -21,6 +21,7 @@ package org.apache.fineract.cob.loan;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.lenient;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
@@ -32,6 +33,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import org.apache.fineract.cob.common.CustomJobParameterResolver;
|
||||
import org.apache.fineract.cob.data.LoanCOBParameter;
|
||||
import org.apache.fineract.cob.exceptions.LoanReadException;
|
||||
import org.apache.fineract.infrastructure.businessdate.domain.BusinessDateType;
|
||||
@@ -48,7 +50,9 @@ public class LoanItemReaderStepDefinitions implements En {
|
||||
|
||||
private RetrieveLoanIdService retrieveLoanIdService = mock(RetrieveLoanIdService.class);
|
||||
|
||||
private LoanItemReader loanItemReader = new LoanItemReader(loanRepository, retrieveLoanIdService);
|
||||
private CustomJobParameterResolver customJobParameterResolver = mock(CustomJobParameterResolver.class);
|
||||
|
||||
private LoanItemReader loanItemReader = new LoanItemReader(loanRepository, retrieveLoanIdService, customJobParameterResolver);
|
||||
|
||||
private Loan loan = mock(Loan.class);
|
||||
|
||||
@@ -83,12 +87,12 @@ public class LoanItemReaderStepDefinitions implements En {
|
||||
businessDates.put(BusinessDateType.BUSINESS_DATE, businessDate);
|
||||
businessDates.put(BusinessDateType.COB_DATE, businessDate.minusDays(1));
|
||||
ThreadLocalContextUtil.setBusinessDates(businessDates);
|
||||
lenient().when(customJobParameterResolver.getCustomJobParameterSet(any())).thenReturn(Optional.empty());
|
||||
|
||||
loanItemReader.beforeStep(stepExecution);
|
||||
|
||||
lenient().when(this.loanRepository.findById(1L)).thenReturn(Optional.of(loan));
|
||||
lenient().when(this.loanRepository.findById(-1L)).thenThrow(new RuntimeException("fail"));
|
||||
|
||||
});
|
||||
|
||||
When("LoanItemReader.read method executed", () -> {
|
||||
|
||||
Reference in New Issue
Block a user