This is an automated email from the ASF dual-hosted git repository.
taskain pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new c6008d60f
FINERACT-1926-unnecessary-account-snapshot-event-denied-transfer
c6008d60f is described below
commit c6008d60f8b3cb8dbbe28e35b618341dd225f970
Author: Ruchi Dhamankar <[email protected]>
AuthorDate: Thu Jul 6 18:10:40 2023 +0530
FINERACT-1926-unnecessary-account-snapshot-event-denied-transfer
---
.../cob/loan/LoanAccountOwnerTransferBusinessStep.java | 5 +++--
.../cob/loan/LoanAccountOwnerTransferBusinessStepTest.java | 12 ++++++------
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git
a/fineract-investor/src/main/java/org/apache/fineract/investor/cob/loan/LoanAccountOwnerTransferBusinessStep.java
b/fineract-investor/src/main/java/org/apache/fineract/investor/cob/loan/LoanAccountOwnerTransferBusinessStep.java
index 634f0ed63..c629fd12f 100644
---
a/fineract-investor/src/main/java/org/apache/fineract/investor/cob/loan/LoanAccountOwnerTransferBusinessStep.java
+++
b/fineract-investor/src/main/java/org/apache/fineract/investor/cob/loan/LoanAccountOwnerTransferBusinessStep.java
@@ -95,7 +95,9 @@ public class LoanAccountOwnerTransferBusinessStep implements
LoanCOBBusinessStep
private void handleSale(final Loan loan, final LocalDate settlementDate,
final ExternalAssetOwnerTransfer externalAssetOwnerTransfer) {
ExternalAssetOwnerTransfer newExternalAssetOwnerTransfer =
sellAsset(loan, settlementDate, externalAssetOwnerTransfer);
businessEventNotifierService.notifyPostBusinessEvent(new
LoanOwnershipTransferBusinessEvent(newExternalAssetOwnerTransfer, loan));
- businessEventNotifierService.notifyPostBusinessEvent(new
LoanAccountSnapshotBusinessEvent(loan));
+ if
(!ExternalTransferStatus.DECLINED.equals(newExternalAssetOwnerTransfer.getStatus()))
{
+ businessEventNotifierService.notifyPostBusinessEvent(new
LoanAccountSnapshotBusinessEvent(loan));
+ }
}
private void handleBuyback(final Loan loan, final LocalDate settlementDate,
@@ -179,7 +181,6 @@ public class LoanAccountOwnerTransferBusinessStep
implements LoanCOBBusinessStep
ExternalAssetOwnerTransfer cancelledBuybackTransfer =
cancelTransfer(settlementDate, transferDataList.get(1));
businessEventNotifierService.notifyPostBusinessEvent(new
LoanOwnershipTransferBusinessEvent(cancelledPendingTransfer, loan));
businessEventNotifierService.notifyPostBusinessEvent(new
LoanOwnershipTransferBusinessEvent(cancelledBuybackTransfer, loan));
- businessEventNotifierService.notifyPostBusinessEvent(new
LoanAccountSnapshotBusinessEvent(loan));
}
private ExternalAssetOwnerTransfer cancelTransfer(final LocalDate
settlementDate,
diff --git
a/fineract-investor/src/test/java/org/apache/fineract/investor/cob/loan/LoanAccountOwnerTransferBusinessStepTest.java
b/fineract-investor/src/test/java/org/apache/fineract/investor/cob/loan/LoanAccountOwnerTransferBusinessStepTest.java
index 60cef35a5..bd1eab0fc 100644
---
a/fineract-investor/src/test/java/org/apache/fineract/investor/cob/loan/LoanAccountOwnerTransferBusinessStepTest.java
+++
b/fineract-investor/src/test/java/org/apache/fineract/investor/cob/loan/LoanAccountOwnerTransferBusinessStepTest.java
@@ -186,10 +186,9 @@ public class LoanAccountOwnerTransferBusinessStepTest {
assertEquals(processedLoan, loanForProcessing);
- ArgumentCaptor<BusinessEvent<?>> businessEventArgumentCaptor =
verifyBusinessEvents(3);
+ ArgumentCaptor<BusinessEvent<?>> businessEventArgumentCaptor =
verifyBusinessEvents(2);
verifyLoanTransferBusinessEvent(businessEventArgumentCaptor, 0,
loanForProcessing, secondSaveResult);
verifyLoanTransferBusinessEvent(businessEventArgumentCaptor, 1,
loanForProcessing, fourthSaveResult);
- verifyLoanAccountSnapshotBusinessEvent(businessEventArgumentCaptor, 2,
loanForProcessing);
}
@Test
@@ -245,6 +244,7 @@ public class LoanAccountOwnerTransferBusinessStepTest {
LoanSummary loanSummary = Mockito.mock(LoanSummary.class);
when(loanForProcessing.getLoanSummary()).thenReturn(loanSummary);
when(loanSummary.getTotalOutstanding()).thenReturn(BigDecimal.ONE);
+
when(newTransfer.getStatus()).thenReturn(ExternalTransferStatus.ACTIVE);
// when
final Loan processedLoan = underTest.execute(loanForProcessing);
// then
@@ -293,6 +293,7 @@ public class LoanAccountOwnerTransferBusinessStepTest {
when(loanForProcessing.getLoanSummary()).thenReturn(loanSummary);
when(loanSummary.getTotalOutstanding()).thenReturn(BigDecimal.ZERO);
when(loanForProcessing.getTotalOverpaid()).thenReturn(BigDecimal.ZERO);
+
when(newTransfer.getStatus()).thenReturn(ExternalTransferStatus.DECLINED);
// when
final Loan processedLoan = underTest.execute(loanForProcessing);
// then
@@ -314,9 +315,8 @@ public class LoanAccountOwnerTransferBusinessStepTest {
assertEquals(actualDate,
externalAssetOwnerTransferArgumentCaptor.getAllValues().get(1).getEffectiveDateTo());
assertEquals(processedLoan, loanForProcessing);
- ArgumentCaptor<BusinessEvent<?>> businessEventArgumentCaptor =
verifyBusinessEvents(2);
+ ArgumentCaptor<BusinessEvent<?>> businessEventArgumentCaptor =
verifyBusinessEvents(1);
verifyLoanTransferBusinessEvent(businessEventArgumentCaptor, 0,
loanForProcessing, newTransfer);
- verifyLoanAccountSnapshotBusinessEvent(businessEventArgumentCaptor, 1,
loanForProcessing);
}
@Test
@@ -337,6 +337,7 @@ public class LoanAccountOwnerTransferBusinessStepTest {
when(loanForProcessing.getLoanSummary()).thenReturn(loanSummary);
when(loanSummary.getTotalOutstanding()).thenReturn(BigDecimal.ONE.negate());
when(loanForProcessing.getTotalOverpaid()).thenReturn(BigDecimal.ONE.negate());
+
when(newTransfer.getStatus()).thenReturn(ExternalTransferStatus.DECLINED);
// when
final Loan processedLoan = underTest.execute(loanForProcessing);
// then
@@ -358,9 +359,8 @@ public class LoanAccountOwnerTransferBusinessStepTest {
assertEquals(actualDate,
externalAssetOwnerTransferArgumentCaptor.getAllValues().get(1).getEffectiveDateTo());
assertEquals(processedLoan, loanForProcessing);
- ArgumentCaptor<BusinessEvent<?>> businessEventArgumentCaptor =
verifyBusinessEvents(2);
+ ArgumentCaptor<BusinessEvent<?>> businessEventArgumentCaptor =
verifyBusinessEvents(1);
verifyLoanTransferBusinessEvent(businessEventArgumentCaptor, 0,
loanForProcessing, newTransfer);
- verifyLoanAccountSnapshotBusinessEvent(businessEventArgumentCaptor, 1,
loanForProcessing);
}
@Test