This is an automated email from the ASF dual-hosted git repository.
bagrijp 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 0641fc6b9 FINERACT-1971: Fixing AggregateId of
LoanOwnershipTransferBusinessEvent
0641fc6b9 is described below
commit 0641fc6b99832025fc009e64aa94aa52b6666dc3
Author: Peter Bagrij <[email protected]>
AuthorDate: Fri Mar 22 19:19:09 2024 +0100
FINERACT-1971: Fixing AggregateId of LoanOwnershipTransferBusinessEvent
---
.../investor/domain/InvestorBusinessEvent.java | 2 +-
.../common/externalevents/ExternalEventHelper.java | 12 ++++++++++++
.../InitiateExternalAssetOwnerTransferTest.java | 19 ++++++++++++++++++-
3 files changed, 31 insertions(+), 2 deletions(-)
diff --git
a/fineract-investor/src/main/java/org/apache/fineract/investor/domain/InvestorBusinessEvent.java
b/fineract-investor/src/main/java/org/apache/fineract/investor/domain/InvestorBusinessEvent.java
index 76ccb5b2e..1d033a196 100644
---
a/fineract-investor/src/main/java/org/apache/fineract/investor/domain/InvestorBusinessEvent.java
+++
b/fineract-investor/src/main/java/org/apache/fineract/investor/domain/InvestorBusinessEvent.java
@@ -40,6 +40,6 @@ public abstract class InvestorBusinessEvent extends
AbstractBusinessEvent<Extern
@Override
public Long getAggregateRootId() {
- return get().getId();
+ return loan.getId();
}
}
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/externalevents/ExternalEventHelper.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/externalevents/ExternalEventHelper.java
index 793e14444..81ff1ec49 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/externalevents/ExternalEventHelper.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/externalevents/ExternalEventHelper.java
@@ -23,11 +23,14 @@ import com.google.gson.Gson;
import io.restassured.specification.RequestSpecification;
import io.restassured.specification.ResponseSpecification;
import java.util.List;
+import java.util.Map;
import lombok.Builder;
import lombok.extern.slf4j.Slf4j;
import org.apache.fineract.client.util.JSON;
import
org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventDTO;
+import
org.apache.fineract.integrationtests.common.ExternalEventConfigurationHelper;
import org.apache.fineract.integrationtests.common.Utils;
+import org.junit.jupiter.api.Assertions;
@Slf4j
public final class ExternalEventHelper {
@@ -89,4 +92,13 @@ public final class ExternalEventHelper {
Utils.performServerDelete(requestSpec, responseSpec, url, null);
}
+ public static void changeEventState(final RequestSpecification
requestSpec, final ResponseSpecification responseSpec, String eventName,
+ boolean status) {
+ final Map<String, Boolean> updatedConfigurations =
ExternalEventConfigurationHelper.updateExternalEventConfigurations(requestSpec,
+ responseSpec, "{\"externalEventConfigurations\":{\"" +
eventName + "\":" + status + "}}\n");
+ Assertions.assertEquals(updatedConfigurations.size(), 1);
+ Assertions.assertTrue(updatedConfigurations.containsKey(eventName));
+ Assertions.assertEquals(status, updatedConfigurations.get(eventName));
+ }
+
}
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/investor/externalassetowner/InitiateExternalAssetOwnerTransferTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/investor/externalassetowner/InitiateExternalAssetOwnerTransferTest.java
index 646d455ce..3c759d36e 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/investor/externalassetowner/InitiateExternalAssetOwnerTransferTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/investor/externalassetowner/InitiateExternalAssetOwnerTransferTest.java
@@ -62,6 +62,7 @@ import
org.apache.fineract.client.models.PostInitiateTransferRequest;
import org.apache.fineract.client.models.PostInitiateTransferResponse;
import org.apache.fineract.client.models.PostLoansLoanIdTransactionsRequest;
import org.apache.fineract.client.util.CallFailedRuntimeException;
+import
org.apache.fineract.infrastructure.event.external.service.validation.ExternalEventDTO;
import org.apache.fineract.integrationtests.common.BusinessDateHelper;
import org.apache.fineract.integrationtests.common.BusinessStepHelper;
import org.apache.fineract.integrationtests.common.ClientHelper;
@@ -74,11 +75,14 @@ import
org.apache.fineract.integrationtests.common.accounting.Account;
import org.apache.fineract.integrationtests.common.accounting.AccountHelper;
import
org.apache.fineract.integrationtests.common.accounting.FinancialActivityAccountHelper;
import org.apache.fineract.integrationtests.common.charges.ChargesHelper;
+import
org.apache.fineract.integrationtests.common.externalevents.ExternalEventHelper;
+import
org.apache.fineract.integrationtests.common.externalevents.ExternalEventsExtension;
import
org.apache.fineract.integrationtests.common.loans.LoanApplicationTestBuilder;
import
org.apache.fineract.integrationtests.common.loans.LoanProductTestBuilder;
import org.apache.fineract.integrationtests.common.loans.LoanStatusChecker;
import
org.apache.fineract.integrationtests.common.loans.LoanTestLifecycleExtension;
import org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper;
+import org.hamcrest.Matchers;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
@@ -86,7 +90,7 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@SuppressWarnings("rawtypes")
-@ExtendWith(LoanTestLifecycleExtension.class)
+@ExtendWith({ LoanTestLifecycleExtension.class, ExternalEventsExtension.class
})
public class InitiateExternalAssetOwnerTransferTest {
private static ResponseSpecification RESPONSE_SPEC;
@@ -146,6 +150,10 @@ public class InitiateExternalAssetOwnerTransferTest {
GlobalConfigurationHelper.manageConfigurations(REQUEST_SPEC,
RESPONSE_SPEC,
GlobalConfigurationHelper.ENABLE_AUTOGENERATED_EXTERNAL_ID, true);
setInitialBusinessDate("2020-03-02");
+
+ ExternalEventHelper.deleteAllExternalEvents(REQUEST_SPEC, new
ResponseSpecBuilder().expectStatusCode(Matchers.is(204)).build());
+ ExternalEventHelper.changeEventState(REQUEST_SPEC, RESPONSE_SPEC,
"LoanOwnershipTransferBusinessEvent", true);
+
Integer clientID = createClient();
Integer loanID = createLoanForClient(clientID);
addPenaltyForLoan(loanID, "10");
@@ -208,6 +216,15 @@ public class InitiateExternalAssetOwnerTransferTest {
"9999-12-31", true, new
BigDecimal("15767.420000"), new BigDecimal("15000.000000"),
new BigDecimal("757.420000"), new
BigDecimal("10.000000"), new BigDecimal("0.000000"),
new BigDecimal("0.000000")));
+
+ List<ExternalEventDTO> allExternalEvents =
ExternalEventHelper.getAllExternalEvents(REQUEST_SPEC, RESPONSE_SPEC);
+ Assertions.assertEquals(1, allExternalEvents.size());
+ Assertions.assertEquals("LoanOwnershipTransferBusinessEvent",
allExternalEvents.get(0).getType());
+ Assertions.assertEquals(Long.valueOf(loanID),
allExternalEvents.get(0).getAggregateRootId());
+
+ ExternalEventHelper.deleteAllExternalEvents(REQUEST_SPEC, new
ResponseSpecBuilder().expectStatusCode(Matchers.is(204)).build());
+ ExternalEventHelper.changeEventState(REQUEST_SPEC, RESPONSE_SPEC,
"LoanOwnershipTransferBusinessEvent", true);
+
getAndValidateThereIsActiveMapping(loanID);
retrieveResponse =
EXTERNAL_ASSET_OWNER_HELPER.retrieveTransfersByLoanId(loanID.longValue());
LocalDate expectedDate = LocalDate.of(2020, 3, 2);