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

Reply via email to