FINERACT-2111: Performance issue on Retrieve Loan API - Transactions
This commit is contained in:
committed by
Adam Saghy
parent
141e26fda7
commit
bd19f28cb6
+4
-4
@@ -44,7 +44,7 @@ import org.apache.fineract.infrastructure.event.external.service.serialization.m
|
||||
import org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData;
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.Loan;
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.LoanChargePaidByReadPlatformService;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.LoanChargePaidByReadService;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService;
|
||||
import org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
@@ -65,7 +65,7 @@ public class LoanAdjustTransactionBusinessEventSerializerTest {
|
||||
@Mock
|
||||
private LoanReadPlatformService service;
|
||||
@Mock
|
||||
private LoanChargePaidByReadPlatformService loanChargePaidByReadPlatformService;
|
||||
private LoanChargePaidByReadService loanChargePaidByReadService;
|
||||
@Mock
|
||||
private AvroDateTimeMapper avroDateTimeMapper;
|
||||
@Mock
|
||||
@@ -88,7 +88,7 @@ public class LoanAdjustTransactionBusinessEventSerializerTest {
|
||||
void loanTransactionReversedOnDateSerializationTest() {
|
||||
Loan loanForProcessing = Mockito.mock(Loan.class);
|
||||
LoanAdjustTransactionBusinessEventSerializer serializer = new LoanAdjustTransactionBusinessEventSerializer(service,
|
||||
new LoanTransactionDataMapperImpl(avroDateTimeMapper, externalIdMapper), loanChargePaidByReadPlatformService);
|
||||
new LoanTransactionDataMapperImpl(avroDateTimeMapper, externalIdMapper), loanChargePaidByReadService);
|
||||
LoanTransaction transactionToAdjust = Mockito.mock(LoanTransaction.class);
|
||||
LoanAdjustTransactionBusinessEvent.Data loanAdjustTransactionBusinessEventData = new LoanAdjustTransactionBusinessEvent.Data(
|
||||
transactionToAdjust);
|
||||
@@ -103,7 +103,7 @@ public class LoanAdjustTransactionBusinessEventSerializerTest {
|
||||
true, new ExternalId("testReversalExternalId"), reversedOnDate, 1L, new ExternalId("testExternalLoanId"));
|
||||
|
||||
when(service.retrieveLoanTransaction(anyLong(), anyLong())).thenReturn(transactionToAdjustData);
|
||||
when(loanChargePaidByReadPlatformService.getLoanChargesPaidByTransactionId(anyLong())).thenReturn(new ArrayList<>());
|
||||
when(loanChargePaidByReadService.fetchLoanChargesPaidByDataTransactionId(anyLong())).thenReturn(new ArrayList<>());
|
||||
when(transactionToAdjust.getLoan()).thenReturn(loanForProcessing);
|
||||
when(loanForProcessing.getId()).thenReturn(1L);
|
||||
when(transactionToAdjust.getId()).thenReturn(1L);
|
||||
|
||||
+10
-4
@@ -32,7 +32,6 @@ import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Predicate;
|
||||
import org.apache.fineract.infrastructure.businessdate.domain.BusinessDateType;
|
||||
import org.apache.fineract.infrastructure.configuration.domain.ConfigurationDomainService;
|
||||
import org.apache.fineract.infrastructure.core.domain.ActionContext;
|
||||
@@ -52,6 +51,8 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanRepaymentScheduleIns
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanStatus;
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionToRepaymentScheduleMapping;
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.LoanTransactionReadService;
|
||||
import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
|
||||
import org.apache.fineract.portfolio.loanproduct.domain.LoanProductRelatedDetail;
|
||||
import org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail;
|
||||
@@ -82,6 +83,8 @@ public class LoanDelinquencyDomainServiceTest {
|
||||
private DelinquencyEffectivePauseHelper delinquencyEffectivePauseHelper;
|
||||
@InjectMocks
|
||||
private LoanDelinquencyDomainServiceImpl underTest;
|
||||
@Mock
|
||||
private LoanTransactionReadService loanTransactionReadService;
|
||||
|
||||
private LocalDate businessDate;
|
||||
private MonetaryCurrency currency;
|
||||
@@ -149,7 +152,8 @@ public class LoanDelinquencyDomainServiceTest {
|
||||
when(loanProductRelatedDetail.getGraceOnArrearsAgeing()).thenReturn(0);
|
||||
when(loan.getLoanProductRelatedDetail()).thenReturn(loanProductRelatedDetail);
|
||||
when(loan.getRepaymentScheduleInstallments()).thenReturn(repaymentScheduleInstallments);
|
||||
when(loan.getLoanTransactions(Mockito.any(Predicate.class))).thenReturn(Collections.emptyList());
|
||||
when(loanTransactionReadService.fetchLoanTransactionsByType(loan.getId(), null, LoanTransactionType.CHARGEBACK.getValue()))
|
||||
.thenReturn(Collections.emptyList());
|
||||
when(loan.getLastLoanRepaymentScheduleInstallment()).thenReturn(repaymentScheduleInstallments.get(0));
|
||||
when(loan.getCurrency()).thenReturn(currency);
|
||||
when(loan.getStatus()).thenReturn(LoanStatus.ACTIVE);
|
||||
@@ -217,7 +221,8 @@ public class LoanDelinquencyDomainServiceTest {
|
||||
when(loanProductRelatedDetail.getGraceOnArrearsAgeing()).thenReturn(0);
|
||||
when(loan.getLoanProductRelatedDetail()).thenReturn(loanProductRelatedDetail);
|
||||
when(loan.getRepaymentScheduleInstallments()).thenReturn(repaymentScheduleInstallments);
|
||||
when(loan.getLoanTransactions(Mockito.any(Predicate.class))).thenReturn(Collections.emptyList());
|
||||
when(loanTransactionReadService.fetchLoanTransactionsByType(loan.getId(), null, LoanTransactionType.CHARGEBACK.getValue()))
|
||||
.thenReturn(Collections.emptyList());
|
||||
when(loan.getLastLoanRepaymentScheduleInstallment()).thenReturn(repaymentScheduleInstallments.get(0));
|
||||
when(loan.getCurrency()).thenReturn(currency);
|
||||
when(loan.isEnableInstallmentLevelDelinquency()).thenReturn(true);
|
||||
@@ -272,7 +277,8 @@ public class LoanDelinquencyDomainServiceTest {
|
||||
when(loan.isEnableInstallmentLevelDelinquency()).thenReturn(true);
|
||||
when(loan.getCurrency()).thenReturn(currency);
|
||||
when(loan.getStatus()).thenReturn(LoanStatus.ACTIVE);
|
||||
when(loan.getLoanTransactions(Mockito.any(Predicate.class))).thenReturn(Arrays.asList(loanTransaction));
|
||||
when(loanTransactionReadService.fetchLoanTransactionsByType(loan.getId(), null, LoanTransactionType.CHARGEBACK.getValue()))
|
||||
.thenReturn(Arrays.asList(loanTransaction));
|
||||
when(delinquencyEffectivePauseHelper.getPausedDaysBeforeDate(effectiveDelinquencyList, businessDate)).thenReturn(0L);
|
||||
|
||||
LoanDelinquencyData collectionData = underTest.getLoanDelinquencyData(loan, effectiveDelinquencyList);
|
||||
|
||||
Reference in New Issue
Block a user