diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientsApiResourceSwagger.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientsApiResourceSwagger.java index cf7dacd2ade..823352f23ca 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientsApiResourceSwagger.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientsApiResourceSwagger.java @@ -409,8 +409,19 @@ private PostClientsClientIdRequest() {} public String dateFormat; @Schema(example = "en") public String locale; + @Schema(example = "03 August 2021") + public String closureDate; + @Schema(example = "1") + public Long closureReasonId; + @Schema(example = "03 August 2021") + public String reactivationDate; + @Schema(example = "03 August 2021") + public String rejectionDate; + @Schema(example = "1") + public Long rejectionReasonId; } + @Schema(description = "PostClientsClientIdResponse") public static final class PostClientsClientIdResponse { @@ -462,6 +473,7 @@ private GetObligeeData() {} public Set obligees; } + @Schema(description = "GetClientsClientIdAccountsResponse") public static final class GetClientsClientIdAccountsResponse { diff --git a/integration-tests/README.md b/integration-tests/README.md index effb78fa6e4..19785eebc47 100644 --- a/integration-tests/README.md +++ b/integration-tests/README.md @@ -15,3 +15,6 @@ - To override any of the default value, just add new value with the same key as environment variable - Example: - `BACKEND_PROTOCOL=http` + +## Migration to fineract-client-feign +We are currently migrating integration tests from RestAssured to the Feign-based Fineract client. For detailed instructions and patterns, see the [Test Migration Guide](TEST_MIGRATION_GUIDE.md). diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientExternalIdTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientExternalIdTest.java index 08f391e23c1..fe97f316a37 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientExternalIdTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientExternalIdTest.java @@ -27,21 +27,23 @@ import io.restassured.http.ContentType; import io.restassured.specification.RequestSpecification; import io.restassured.specification.ResponseSpecification; +import java.util.HashMap; import java.util.List; import java.util.UUID; import lombok.extern.slf4j.Slf4j; import org.apache.fineract.client.models.DeleteClientsClientIdResponse; -import org.apache.fineract.client.models.GetClientTransferProposalDateResponse; import org.apache.fineract.client.models.GetClientsClientIdAccountsResponse; import org.apache.fineract.client.models.GetClientsClientIdResponse; import org.apache.fineract.client.models.GetObligeeData; import org.apache.fineract.client.models.PostClientsClientIdResponse; import org.apache.fineract.client.models.PostClientsResponse; +import org.apache.fineract.client.models.PutClientsClientIdRequest; import org.apache.fineract.client.models.PutClientsClientIdResponse; import org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationConstants; import org.apache.fineract.integrationtests.common.ClientHelper; import org.apache.fineract.integrationtests.common.GlobalConfigurationHelper; import org.apache.fineract.integrationtests.common.Utils; +import org.apache.fineract.integrationtests.common.system.CodeHelper; import org.apache.fineract.portfolio.client.domain.ClientStatus; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -66,10 +68,9 @@ public void setup() { public void whenAutoExternalIdConfigIsOffCreateClient() { // given globalConfigurationHelper.manageConfigurations(GlobalConfigurationConstants.ENABLE_AUTO_GENERATED_EXTERNAL_ID, false); - final String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, - null); // when - final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, null); // then assertNotNull(clientResponse); assertNull(clientResponse.getResourceExternalId()); @@ -79,10 +80,9 @@ public void whenAutoExternalIdConfigIsOffCreateClient() { public void whenAutoExternalIdConfigIsOffCreateClientWithValue() { // given final String externalId = UUID.randomUUID().toString(); - final String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, - externalId); // when - final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, externalId); // then assertNotNull(clientResponse); assertNotNull(clientResponse.getResourceExternalId()); @@ -95,10 +95,9 @@ public void whenAutoExternalIdConfigIsOffCreateClientWithValue() { public void whenAutoExternalIdConfigIsOnCreateClient() { // given globalConfigurationHelper.manageConfigurations(GlobalConfigurationConstants.ENABLE_AUTO_GENERATED_EXTERNAL_ID, true); - final String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, - null); // when - final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, null); // then assertNotNull(clientResponse); assertNotNull(clientResponse.getResourceExternalId()); @@ -114,10 +113,9 @@ public void whenAutoExternalIdConfigIsOnCreateClientWithValue() { // given globalConfigurationHelper.manageConfigurations(GlobalConfigurationConstants.ENABLE_AUTO_GENERATED_EXTERNAL_ID, true); final String externalId = UUID.randomUUID().toString(); - final String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, - externalId); // when - final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, externalId); // then assertNotNull(clientResponse); assertNotNull(clientResponse.getResourceExternalId()); @@ -130,72 +128,71 @@ public void whenAutoExternalIdConfigIsOnCreateClientWithValue() { @Test public void testClientStatusUsingExternalId() { - ClientHelper clientHelper = new ClientHelper(requestSpec, responseSpec); globalConfigurationHelper.manageConfigurations(GlobalConfigurationConstants.ENABLE_AUTO_GENERATED_EXTERNAL_ID, true); - String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, null); - final PostClientsResponse addClientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse addClientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, null); final String clientExternalId = addClientResponse.getResourceExternalId(); final Long clientId = addClientResponse.getClientId(); assertNotNull(clientExternalId); log.info("Client data id {} and external Id {}", clientId, clientExternalId); - GetClientsClientIdResponse clientResponse = ClientHelper.getClientByExternalId(requestSpec, responseSpec, clientExternalId); + GetClientsClientIdResponse clientResponse = ClientHelper.getClientByExternalId(clientExternalId); ClientStatusChecker.verifyClientStatus(ClientStatus.ACTIVE, clientResponse); log.info("Client data id {} and status {}", clientExternalId, clientResponse.getStatus().getCode()); // Close Client action - jsonPayload = clientHelper.getCloseClientAsJSON(); - PostClientsClientIdResponse commandResponse = ClientHelper.performClientActionUsingExternalId(requestSpec, responseSpec, - clientExternalId, ClientHelper.CLOSE_CLIENT_COMMAND, jsonPayload); + String codeName = "ClientClosureReason"; + HashMap code = CodeHelper.getCodeByName(requestSpec, responseSpec, codeName); + Integer closureReasonId = (Integer) CodeHelper.retrieveOrCreateCodeValue((Integer) code.get("id"), requestSpec, responseSpec) + .get("id"); + PostClientsClientIdResponse commandResponse = ClientHelper.closeClient(clientExternalId, closureReasonId); assertNotNull(commandResponse); assertNotNull(commandResponse.getResourceExternalId()); assertEquals(clientExternalId, commandResponse.getResourceExternalId()); log.info("Client data id {} and external Id {}", commandResponse.getResourceId(), clientExternalId); assertEquals(clientId.intValue(), commandResponse.getResourceId()); - clientResponse = ClientHelper.getClientByExternalId(requestSpec, responseSpec, clientExternalId); + clientResponse = ClientHelper.getClientByExternalId(clientExternalId); ClientStatusChecker.verifyClientStatus(ClientStatus.CLOSED, clientResponse); log.info("Client data id {} and status {}", clientExternalId, clientResponse.getStatus().getCode()); // Reactivate Client action - jsonPayload = clientHelper.getReactivateClientAsJSON(); - commandResponse = ClientHelper.performClientActionUsingExternalId(requestSpec, responseSpec, clientExternalId, - ClientHelper.REACTIVATE_CLIENT_COMMAND, jsonPayload); + commandResponse = ClientHelper.reactivateClient(clientExternalId); assertNotNull(commandResponse); assertNotNull(commandResponse.getResourceExternalId()); assertEquals(clientExternalId, commandResponse.getResourceExternalId()); log.info("Client data id {} and external Id {}", commandResponse.getResourceId(), clientExternalId); assertEquals(clientId.intValue(), commandResponse.getResourceId()); - clientResponse = ClientHelper.getClientByExternalId(requestSpec, responseSpec, clientExternalId); + clientResponse = ClientHelper.getClientByExternalId(clientExternalId); ClientStatusChecker.verifyClientStatus(ClientStatus.PENDING, clientResponse); log.info("Client data id {} and status {}", clientExternalId, clientResponse.getStatus().getCode()); // Reject Client action - jsonPayload = clientHelper.getRejectClientAsJSON(); - commandResponse = ClientHelper.performClientActionUsingExternalId(requestSpec, responseSpec, clientExternalId, - ClientHelper.REJECT_CLIENT_COMMAND, jsonPayload); + codeName = "ClientRejectReason"; + code = CodeHelper.getCodeByName(requestSpec, responseSpec, codeName); + Integer rejectionReasonId = (Integer) CodeHelper.retrieveOrCreateCodeValue((Integer) code.get("id"), requestSpec, responseSpec) + .get("id"); + commandResponse = ClientHelper.rejectClient(clientExternalId, rejectionReasonId); assertNotNull(commandResponse); assertNotNull(commandResponse.getResourceExternalId()); assertEquals(clientExternalId, commandResponse.getResourceExternalId()); log.info("Client data id {} and external Id {}", commandResponse.getResourceId(), clientExternalId); assertEquals(clientId.intValue(), commandResponse.getResourceId()); - clientResponse = ClientHelper.getClientByExternalId(requestSpec, responseSpec, clientExternalId); + clientResponse = ClientHelper.getClientByExternalId(clientExternalId); ClientStatusChecker.verifyClientStatus(ClientStatus.REJECTED, clientResponse); log.info("Client data id {} and status {}", clientExternalId, clientResponse.getStatus().getCode()); // Activate Client action - jsonPayload = ClientHelper.getActivateClientAsJSON(ClientHelper.DEFAULT_DATE); - commandResponse = ClientHelper.performClientActionUsingExternalId(requestSpec, responseSpec, clientExternalId, - ClientHelper.ACTIVATE_CLIENT_COMMAND, jsonPayload); + commandResponse = ClientHelper.activateClient(clientExternalId, ClientHelper.DEFAULT_DATE); assertNotNull(commandResponse); assertNotNull(commandResponse.getResourceExternalId()); assertEquals(clientExternalId, commandResponse.getResourceExternalId()); log.info("Client data id {} and external Id {}", commandResponse.getResourceId(), clientExternalId); assertEquals(clientId.intValue(), commandResponse.getResourceId()); - clientResponse = ClientHelper.getClientByExternalId(requestSpec, responseSpec, clientExternalId); + clientResponse = ClientHelper.getClientByExternalId(clientExternalId); ClientStatusChecker.verifyClientStatus(ClientStatus.ACTIVE, clientResponse); log.info("Client data id {} and status {}", clientExternalId, clientResponse.getStatus().getCode()); @@ -206,13 +203,12 @@ public void testClientStatusUsingExternalId() { public void testUpdateClientUsingExternalId() { // given globalConfigurationHelper.manageConfigurations(GlobalConfigurationConstants.ENABLE_AUTO_GENERATED_EXTERNAL_ID, true); - String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, null); // when - final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, null); final String clientExternalId = clientResponse.getResourceExternalId(); - jsonPayload = ClientHelper.getBasicClientAsJSON(null, ClientHelper.LEGALFORM_ID_PERSON, clientExternalId); - final PutClientsClientIdResponse clientUpdateResponse = ClientHelper.updateClient(requestSpec, responseSpec, clientExternalId, - jsonPayload); + PutClientsClientIdRequest updateRequest = new PutClientsClientIdRequest().externalId(clientExternalId); + final PutClientsClientIdResponse clientUpdateResponse = ClientHelper.updateClientByExternalId(clientExternalId, updateRequest); // then assertNotNull(clientUpdateResponse); assertNotNull(clientUpdateResponse.getResourceExternalId()); @@ -224,21 +220,20 @@ public void testUpdateClientUsingExternalId() { @Test public void testDeleteClientUsingExternalId() { // given - ClientHelper clientHelper = new ClientHelper(requestSpec, responseSpec); globalConfigurationHelper.manageConfigurations(GlobalConfigurationConstants.ENABLE_AUTO_GENERATED_EXTERNAL_ID, true); - String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, null); // when - final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, null); final String clientExternalId = clientResponse.getResourceExternalId(); - jsonPayload = clientHelper.getCloseClientAsJSON(); - PostClientsClientIdResponse commandResponse = ClientHelper.performClientActionUsingExternalId(requestSpec, responseSpec, - clientExternalId, ClientHelper.CLOSE_CLIENT_COMMAND, jsonPayload); - jsonPayload = clientHelper.getReactivateClientAsJSON(); - commandResponse = ClientHelper.performClientActionUsingExternalId(requestSpec, responseSpec, clientExternalId, - ClientHelper.REACTIVATE_CLIENT_COMMAND, jsonPayload); + String codeName = "ClientClosureReason"; + HashMap code = CodeHelper.getCodeByName(requestSpec, responseSpec, codeName); + Integer closureReasonId = (Integer) CodeHelper.retrieveOrCreateCodeValue((Integer) code.get("id"), requestSpec, responseSpec) + .get("id"); + ClientHelper.closeClient(clientExternalId, closureReasonId); + ClientHelper.reactivateClient(clientExternalId); // then - final DeleteClientsClientIdResponse clientDeleteResponse = ClientHelper.deleteClient(requestSpec, responseSpec, clientExternalId); + final DeleteClientsClientIdResponse clientDeleteResponse = ClientHelper.deleteClientByExternalId(clientExternalId); assertNotNull(clientDeleteResponse); assertNotNull(clientDeleteResponse.getResourceExternalId()); assertEquals(clientExternalId, clientDeleteResponse.getResourceExternalId()); @@ -250,14 +245,12 @@ public void testDeleteClientUsingExternalId() { public void testGetClientAccountsUsingExternalId() { // given globalConfigurationHelper.manageConfigurations(GlobalConfigurationConstants.ENABLE_AUTO_GENERATED_EXTERNAL_ID, true); - final String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, - null); // when - final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, null); final String clientExternalId = clientResponse.getResourceExternalId(); - GetClientsClientIdAccountsResponse clientAccountsResponse = ClientHelper.getClientAccounts(requestSpec, responseSpec, - clientExternalId); + GetClientsClientIdAccountsResponse clientAccountsResponse = ClientHelper.getClientAccounts(clientExternalId); // then assertNotNull(clientAccountsResponse); @@ -269,15 +262,12 @@ public void testGetClientAccountsUsingExternalId() { public void testGetClientTransferProposalDate() { // given globalConfigurationHelper.manageConfigurations(GlobalConfigurationConstants.ENABLE_AUTO_GENERATED_EXTERNAL_ID, true); - final String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, - null); - final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); - ResponseSpecification response204Spec = new ResponseSpecBuilder().expectStatusCode(204).build(); + final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, null); // when final String clientExternalId = clientResponse.getResourceExternalId(); - final GetClientTransferProposalDateResponse transferProposalDateResponse = ClientHelper.getProposedTransferDate(requestSpec, - response204Spec, clientExternalId); + ClientHelper.getProposedTransferDate(clientExternalId); fetchClientByExternalId(clientResponse.getResourceExternalId()); @@ -288,12 +278,11 @@ public void testGetClientTransferProposalDate() { public void testGetClientObligeeData() { // given globalConfigurationHelper.manageConfigurations(GlobalConfigurationConstants.ENABLE_AUTO_GENERATED_EXTERNAL_ID, true); - final String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, - null); // when - final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, null); final String clientExternalId = clientResponse.getResourceExternalId(); - final List obligeeDataResponse = ClientHelper.getObligeeData(requestSpec, responseSpec, clientExternalId); + final List obligeeDataResponse = ClientHelper.getObligeeData(clientExternalId); // then assertNotNull(obligeeDataResponse); @@ -304,7 +293,7 @@ public void testGetClientObligeeData() { } private void fetchClientByExternalId(final String externalId) { - GetClientsClientIdResponse clientResponse = ClientHelper.getClientByExternalId(requestSpec, responseSpec, externalId); + GetClientsClientIdResponse clientResponse = ClientHelper.getClientByExternalId(externalId); assertNotNull(clientResponse); assertEquals(externalId, clientResponse.getExternalId()); } diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanAccountsContainsCurrencyFieldTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanAccountsContainsCurrencyFieldTest.java index fab74415375..ed59d50987a 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanAccountsContainsCurrencyFieldTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanAccountsContainsCurrencyFieldTest.java @@ -66,10 +66,9 @@ public void testGetClientLoanAccountsUsingExternalIdContainsCurrency() { // given globalConfigurationHelper.manageConfigurations(GlobalConfigurationConstants.ENABLE_AUTO_GENERATED_EXTERNAL_ID, true); - final String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, - null); // when - final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, null); final String clientExternalId = clientResponse.getResourceExternalId(); final long clientId = clientResponse.getClientId(); @@ -81,8 +80,7 @@ public void testGetClientLoanAccountsUsingExternalIdContainsCurrency() { final Integer loanId = createLoanAccount(loanTransactionHelper, String.valueOf(clientId), String.valueOf(loanProductId), formattedDate); - GetClientsClientIdAccountsResponse clientAccountsResponse = ClientHelper.getClientAccounts(requestSpec, responseSpec, - clientExternalId); + GetClientsClientIdAccountsResponse clientAccountsResponse = ClientHelper.getClientAccounts(clientExternalId); if (clientAccountsResponse.getLoanAccounts() == null) { // Handle the case where getClientAccounts returned null diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SearchResourcesTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SearchResourcesTest.java index bdb751034c3..c5ae717ad2a 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/SearchResourcesTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SearchResourcesTest.java @@ -84,8 +84,8 @@ public void searchOverClientResources() { final List resources = Arrays.asList("clients"); // Client and Loan account creation - String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, null); - final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, null); final Long clientId = clientResponse.getClientId(); final GetClientsClientIdResponse getClientResponse = ClientHelper.getClient(requestSpec, responseSpec, clientId.intValue()); final String query = getClientResponse.getAccountNo(); @@ -112,8 +112,8 @@ public void searchAnyValueOverLoanResources() { public void searchOverSavingsResources() { final List resources = Arrays.asList("savings"); - String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, null); - final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse clientResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, null); final Long clientId = clientResponse.getClientId(); final Integer savingsId = SavingsAccountHelper.openSavingsAccount(requestSpec, responseSpec, clientId.intValue(), "1000"); @@ -139,8 +139,8 @@ public void searchOverSavingsResources() { public void searchOverSharesResources() { final List resources = Arrays.asList("shares"); - String jsonPayload = ClientHelper.getBasicClientAsJSON(ClientHelper.DEFAULT_OFFICE_ID, ClientHelper.LEGALFORM_ID_PERSON, null); - final PostClientsResponse clientsResponse = ClientHelper.addClientAsPerson(requestSpec, responseSpec, jsonPayload); + final PostClientsResponse clientsResponse = ClientHelper.addClientAsPerson(ClientHelper.DEFAULT_OFFICE_ID, + ClientHelper.LEGALFORM_ID_PERSON, null); final Long clientId = clientsResponse.getClientId(); final ShareProductHelper shareProductHelper = new ShareProductHelper(); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ClientHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ClientHelper.java index 408b17b78a1..f2faf436db1 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ClientHelper.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ClientHelper.java @@ -54,10 +54,12 @@ import org.apache.fineract.client.models.PostClientClientIdAddressesResponse; import org.apache.fineract.client.models.PostClientsClientIdIdentifiersRequest; import org.apache.fineract.client.models.PostClientsClientIdIdentifiersResponse; +import org.apache.fineract.client.models.PostClientsClientIdRequest; import org.apache.fineract.client.models.PostClientsClientIdResponse; import org.apache.fineract.client.models.PostClientsClientIdTransactionsTransactionIdResponse; import org.apache.fineract.client.models.PostClientsRequest; import org.apache.fineract.client.models.PostClientsResponse; +import org.apache.fineract.client.models.PutClientsClientIdRequest; import org.apache.fineract.client.models.PutClientsClientIdResponse; import org.apache.fineract.client.models.SortOrder; import org.apache.fineract.client.util.Calls; @@ -111,6 +113,67 @@ public static PostClientsResponse createClient(final PostClientsRequest request) return Calls.ok(FineractClientHelper.getFineractClient().clients.createClient(request)); } + public static PostClientsResponse addClientAsPerson(final String officeId, final Long legalFormId, final String externalId) { + PostClientsRequest request = new PostClientsRequest().officeId(officeId != null ? Long.parseLong(officeId) : 1L) + .legalFormId(legalFormId).firstname(Utils.randomFirstNameGenerator()).lastname(Utils.randomLastNameGenerator()) + .externalId(externalId).dateFormat(Utils.DATE_FORMAT).locale("en").active(true).activationDate(DEFAULT_DATE); + return createClient(request); + } + + public static GetClientsClientIdResponse getClientByExternalId(final String externalId) { + return Calls.ok(FineractClientHelper.getFineractClient().clients.retrieveOneClientByExternalId(externalId, null)); + } + + public static PutClientsClientIdResponse updateClientByExternalId(final String externalId, final PutClientsClientIdRequest request) { + return Calls.ok(FineractClientHelper.getFineractClient().clients.updateClientByExternalId(externalId, request)); + } + + public static DeleteClientsClientIdResponse deleteClientByExternalId(final String externalId) { + return Calls.ok(FineractClientHelper.getFineractClient().clients.deleteClientByExternalId(externalId)); + } + + public static GetClientsClientIdAccountsResponse getClientAccounts(final String externalId) { + return Calls.ok(FineractClientHelper.getFineractClient().clients.retrieveAllClientAccountsByExternalId(externalId)); + } + + public static GetClientTransferProposalDateResponse getProposedTransferDate(final String externalId) { + return Calls.ok(FineractClientHelper.getFineractClient().clients.retrieveClientTransferTemplateByExternalId(externalId)); + } + + public static List getObligeeData(final String externalId) { + return new java.util.ArrayList<>(Calls + .ok(FineractClientHelper.getFineractClient().clients.retrieveClientObligeeDetailsByExternalId(externalId)).getObligees()); + } + + public static PostClientsClientIdResponse closeClient(final String externalId, final Integer closureReasonId) { + PostClientsClientIdRequest request = new PostClientsClientIdRequest().locale(CommonConstants.LOCALE) + .dateFormat(CommonConstants.DATE_FORMAT).closureDate(CREATED_DATE_PLUS_ONE).closureReasonId(closureReasonId.longValue()); + return Calls.ok(FineractClientHelper.getFineractClient().clients.handleCommandClientByExternalId(externalId, request, + CLOSE_CLIENT_COMMAND)); + } + + public static PostClientsClientIdResponse reactivateClient(final String externalId) { + PostClientsClientIdRequest request = new PostClientsClientIdRequest().locale(CommonConstants.LOCALE) + .dateFormat(CommonConstants.DATE_FORMAT).reactivationDate(CREATED_DATE_PLUS_ONE); + return Calls.ok(FineractClientHelper.getFineractClient().clients.handleCommandClientByExternalId(externalId, request, + REACTIVATE_CLIENT_COMMAND)); + } + + public static PostClientsClientIdResponse rejectClient(final String externalId, final Integer rejectionReasonId) { + PostClientsClientIdRequest request = new PostClientsClientIdRequest().locale(CommonConstants.LOCALE) + .dateFormat(CommonConstants.DATE_FORMAT).rejectionDate(CREATED_DATE_PLUS_ONE) + .rejectionReasonId(rejectionReasonId.longValue()); + return Calls.ok(FineractClientHelper.getFineractClient().clients.handleCommandClientByExternalId(externalId, request, + REJECT_CLIENT_COMMAND)); + } + + public static PostClientsClientIdResponse activateClient(final String externalId, final String activationDate) { + PostClientsClientIdRequest request = new PostClientsClientIdRequest().locale(CommonConstants.LOCALE) + .dateFormat(CommonConstants.DATE_FORMAT).activationDate(activationDate); + return Calls.ok(FineractClientHelper.getFineractClient().clients.handleCommandClientByExternalId(externalId, request, + ACTIVATE_CLIENT_COMMAND)); + } + public PostClientsClientIdIdentifiersResponse createClientIdentifer(final Long clientId, final PostClientsClientIdIdentifiersRequest request) { return Calls.ok(FineractClientHelper.getFineractClient().clientIdentifiers.createClientIdentifier(clientId, request)); @@ -147,83 +210,12 @@ public PageClientSearchData searchClients(PagedRequestClientTextSearch request) return Calls.ok(FineractClientHelper.getFineractClient().clientSearchV2.searchClientsByText(request)); } - // TODO: Rewrite to use fineract-client instead! - // Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long, - // org.apache.fineract.client.models.PostLoansLoanIdRequest) - @Deprecated(forRemoval = true) - public static PostClientsResponse addClientAsPerson(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, - final String jsonPayload) { - final String response = Utils.performServerPost(requestSpec, responseSpec, CREATE_CLIENT_URL, jsonPayload); - log.info("{}", response); - return GSON.fromJson(response, PostClientsResponse.class); - } - - // TODO: Rewrite to use fineract-client instead! - // Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long, - // org.apache.fineract.client.models.PostLoansLoanIdRequest) - @Deprecated(forRemoval = true) - public static PutClientsClientIdResponse updateClient(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, - final String externalId, final String jsonPayload) { - final String url = CLIENT_EXTERNALID_URL + "/" + externalId + "?" + Utils.TENANT_IDENTIFIER; - final String response = Utils.performServerPut(requestSpec, responseSpec, url, jsonPayload); - log.info("{}", response); - return GSON.fromJson(response, PutClientsClientIdResponse.class); - } - - // TODO: Rewrite to use fineract-client instead! - // Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long, - // org.apache.fineract.client.models.PostLoansLoanIdRequest) - @Deprecated(forRemoval = true) - public static DeleteClientsClientIdResponse deleteClient(final RequestSpecification requestSpec, - final ResponseSpecification responseSpec, final String externalId) { - final String url = CLIENT_EXTERNALID_URL + "/" + externalId + "?" + Utils.TENANT_IDENTIFIER; - final String response = Utils.performServerDelete(requestSpec, responseSpec, url, Utils.emptyJson(), null); - log.info("{}", response); - return GSON.fromJson(response, DeleteClientsClientIdResponse.class); - } - - // TODO: Rewrite to use fineract-client instead! - // Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long, - // org.apache.fineract.client.models.PostLoansLoanIdRequest) - @Deprecated(forRemoval = true) - public static GetClientsClientIdAccountsResponse getClientAccounts(final RequestSpecification requestSpec, - final ResponseSpecification responseSpec, final String externalId) { - final String url = CLIENT_EXTERNALID_URL + "/" + externalId + "/accounts?" + Utils.TENANT_IDENTIFIER; - final String response = Utils.performServerGet(requestSpec, responseSpec, url); - log.info("{}", response); - return GSON.fromJson(response, GetClientsClientIdAccountsResponse.class); - } - public static String getClientAccountsRaw(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, final long clientId) { final String url = CLIENT_URL + "/" + clientId + "/accounts?" + Utils.TENANT_IDENTIFIER; return Utils.performServerGet(requestSpec, responseSpec, url); } - // TODO: Rewrite to use fineract-client instead! - // Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long, - // org.apache.fineract.client.models.PostLoansLoanIdRequest) - @Deprecated(forRemoval = true) - public static GetClientTransferProposalDateResponse getProposedTransferDate(final RequestSpecification requestSpec, - final ResponseSpecification responseSpec, final String externalId) { - final String url = CLIENT_EXTERNALID_URL + "/" + externalId + "/transferproposaldate?" + Utils.TENANT_IDENTIFIER; - final String response = Utils.performServerGet(requestSpec, responseSpec, url); - log.info("{}", response); - return GSON.fromJson(response, GetClientTransferProposalDateResponse.class); - } - - // TODO: Rewrite to use fineract-client instead! - // Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long, - // org.apache.fineract.client.models.PostLoansLoanIdRequest) - @Deprecated(forRemoval = true) - public static List getObligeeData(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, - final String externalId) { - final String url = CLIENT_EXTERNALID_URL + "/" + externalId + "/obligeedetails?" + Utils.TENANT_IDENTIFIER; - final String response = Utils.performServerGet(requestSpec, responseSpec, url); - log.info("{}", response); - return GSON.fromJson(response, new TypeToken>() {}.getType()); - } - // TODO: Rewrite to use fineract-client instead! // Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long, // org.apache.fineract.client.models.PostLoansLoanIdRequest) @@ -466,19 +458,6 @@ public static HashMap setInitialClientValues(final String office return map; } - // TODO: Rewrite to use fineract-client instead! - // Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long, - // org.apache.fineract.client.models.PostLoansLoanIdRequest) - @Deprecated(forRemoval = true) - public static String getBasicClientAsJSON(final String officeId, final Long legalFormId, final String externalId) { - HashMap map = setInitialClientValues(officeId, legalFormId, externalId); - map.put("active", "true"); - map.put("activationDate", DEFAULT_DATE); - final String basicClientAsJson = GSON.toJson(map); - log.info("Client JSON : {}", basicClientAsJson); - return basicClientAsJson; - } - // TODO: Rewrite to use fineract-client instead! // Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long, // org.apache.fineract.client.models.PostLoansLoanIdRequest) @@ -650,17 +629,6 @@ public static GetClientsClientIdResponse getClient(final RequestSpecification re return GSON.fromJson(clientResponseStr, GetClientsClientIdResponse.class); } - // TODO: Rewrite to use fineract-client instead! - // Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long, - // org.apache.fineract.client.models.PostLoansLoanIdRequest) - @Deprecated(forRemoval = true) - public static GetClientsClientIdResponse getClientByExternalId(final RequestSpecification requestSpec, - final ResponseSpecification responseSpec, final String externalId) { - final String url = CLIENT_EXTERNALID_URL + "/" + externalId + "?" + Utils.TENANT_IDENTIFIER; - final String response = Utils.performServerGet(requestSpec, responseSpec, url); - return GSON.fromJson(response, GetClientsClientIdResponse.class); - } - // TODO: Rewrite to use fineract-client instead! // Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long, // org.apache.fineract.client.models.PostLoansLoanIdRequest)