FINERACT-2169: Refactor client address controller;

This commit is contained in:
viktorpavlenko
2025-04-24 11:45:13 +02:00
committed by Adam Saghy
parent 99f12d6091
commit 30543fd72e
12 changed files with 208 additions and 193 deletions
@@ -35,12 +35,11 @@ import java.security.SecureRandom;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import org.apache.fineract.client.models.GetClientClientIdAddressesResponse;
import org.apache.fineract.client.models.AddressData;
import org.apache.fineract.client.models.ClientAddressRequest;
import org.apache.fineract.client.models.GetClientsClientIdResponse;
import org.apache.fineract.client.models.GlobalConfigurationPropertyData;
import org.apache.fineract.client.models.PostClientClientIdAddressesRequest;
import org.apache.fineract.client.models.PostClientClientIdAddressesResponse;
import org.apache.fineract.client.models.PostClientsAddressRequest;
import org.apache.fineract.client.models.PostClientsRequest;
import org.apache.fineract.client.models.PutGlobalConfigurationsRequest;
import org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationConstants;
@@ -218,10 +217,10 @@ public class ClientTest {
Integer stateId = CodeHelper.createStateCodeValue(requestSpec, responseSpec, Utils.randomStringGenerator("Budapest", 4), 0);
String city = "Budapest";
boolean addressIsActive = true;
long postalCode = 1000L;
String postalCode = "1000";
// when
PostClientsAddressRequest addressRequest = new PostClientsAddressRequest().postalCode(postalCode).city(city)
ClientAddressRequest addressRequest = new ClientAddressRequest().postalCode(postalCode).city(city)
.countryId(Long.valueOf(countryId)).stateProvinceId(Long.valueOf(stateId)).addressTypeId(addressTypeId.longValue())
.isActive(addressIsActive);
PostClientsRequest request = ClientHelper.defaultClientCreationRequest().address(List.of(addressRequest));
@@ -229,8 +228,8 @@ public class ClientTest {
// then
ClientHelper.verifyClientCreatedOnServer(requestSpec, responseSpec, clientId);
List<GetClientClientIdAddressesResponse> clientAddresses = ClientHelper.getClientAddresses(requestSpec, responseSpec, clientId);
GetClientClientIdAddressesResponse addressResponse = clientAddresses.get(0);
List<AddressData> clientAddresses = ClientHelper.getClientAddresses(requestSpec, responseSpec, clientId);
AddressData addressResponse = clientAddresses.get(0);
assertThat(addressResponse.getCity()).isEqualTo(city);
assertThat(addressResponse.getCountryId()).isEqualTo((long) countryId);
assertThat(addressResponse.getStateProvinceId()).isEqualTo((long) stateId);
@@ -248,19 +247,19 @@ public class ClientTest {
Integer stateId = CodeHelper.createStateCodeValue(requestSpec, responseSpec, Utils.randomStringGenerator("Budapest", 4), 0);
String city = "Budapest";
boolean addressIsActive = true;
long postalCode = 1000L;
String postalCode = "1000";
PostClientsRequest clientRequest = ClientHelper.defaultClientCreationRequest();
final Integer clientId = ClientHelper.createClient(requestSpec, responseSpec, clientRequest);
// when
PostClientClientIdAddressesRequest request = new PostClientClientIdAddressesRequest().postalCode(postalCode).city(city)
.countryId(Long.valueOf(countryId)).stateProvinceId(Long.valueOf(stateId)).isActive(addressIsActive);
ClientAddressRequest request = new ClientAddressRequest().postalCode(postalCode).city(city).countryId(Long.valueOf(countryId))
.stateProvinceId(Long.valueOf(stateId)).isActive(addressIsActive);
PostClientClientIdAddressesResponse response = ClientHelper.createClientAddress(requestSpec, responseSpec, clientId.longValue(),
addressTypeId, request);
// then
assertThat(response.getResourceId()).isNotNull();
List<GetClientClientIdAddressesResponse> clientAddresses = ClientHelper.getClientAddresses(requestSpec, responseSpec, clientId);
GetClientClientIdAddressesResponse addressResponse = clientAddresses.get(0);
List<AddressData> clientAddresses = ClientHelper.getClientAddresses(requestSpec, responseSpec, clientId);
AddressData addressResponse = clientAddresses.get(0);
assertThat(addressResponse.getCity()).isEqualTo(city);
assertThat(addressResponse.getCountryId()).isEqualTo((long) countryId);
assertThat(addressResponse.getStateProvinceId()).isEqualTo((long) stateId);
@@ -38,9 +38,10 @@ import java.util.List;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.fineract.client.models.AddressData;
import org.apache.fineract.client.models.ClientAddressRequest;
import org.apache.fineract.client.models.ClientTextSearch;
import org.apache.fineract.client.models.DeleteClientsClientIdResponse;
import org.apache.fineract.client.models.GetClientClientIdAddressesResponse;
import org.apache.fineract.client.models.GetClientTransferProposalDateResponse;
import org.apache.fineract.client.models.GetClientsClientIdAccountsResponse;
import org.apache.fineract.client.models.GetClientsClientIdResponse;
@@ -50,7 +51,6 @@ import org.apache.fineract.client.models.GetObligeeData;
import org.apache.fineract.client.models.LoanAccountLockResponseDTO;
import org.apache.fineract.client.models.PageClientSearchData;
import org.apache.fineract.client.models.PagedRequestClientTextSearch;
import org.apache.fineract.client.models.PostClientClientIdAddressesRequest;
import org.apache.fineract.client.models.PostClientClientIdAddressesResponse;
import org.apache.fineract.client.models.PostClientsClientIdIdentifiersRequest;
import org.apache.fineract.client.models.PostClientsClientIdIdentifiersResponse;
@@ -263,7 +263,7 @@ public class ClientHelper {
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
@Deprecated(forRemoval = true)
public static PostClientClientIdAddressesResponse createClientAddress(final RequestSpecification requestSpec,
final ResponseSpecification responseSpec, long clientId, long addressTypeId, PostClientClientIdAddressesRequest request) {
final ResponseSpecification responseSpec, long clientId, long addressTypeId, ClientAddressRequest request) {
final String CREATE_CLIENT_ADDRESS_URL = "/fineract-provider/api/v1/client/" + clientId + "/addresses?type=" + addressTypeId + "&"
+ Utils.TENANT_IDENTIFIER;
log.info("---------------------------------CREATING A CLIENT ADDRESS ---------------------------------------------");
@@ -659,12 +659,12 @@ public class ClientHelper {
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
@Deprecated(forRemoval = true)
public static List<GetClientClientIdAddressesResponse> getClientAddresses(final RequestSpecification requestSpec,
final ResponseSpecification responseSpec, final int clientId) {
public static List<AddressData> getClientAddresses(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
final int clientId) {
final String GET_CLIENT_ADDRESSES_URL = "/fineract-provider/api/v1/client/" + clientId + "/addresses?" + Utils.TENANT_IDENTIFIER;
log.info("---------------------------------GET A CLIENT'S ADDRESSES ---------------------------------------------");
String clientResponseStr = Utils.performServerGet(requestSpec, responseSpec, GET_CLIENT_ADDRESSES_URL);
return GSON.fromJson(clientResponseStr, new TypeToken<List<GetClientClientIdAddressesResponse>>() {}.getType());
return GSON.fromJson(clientResponseStr, new TypeToken<List<AddressData>>() {}.getType());
}
// TODO: Rewrite to use fineract-client instead!