FINERACT-2418: Loan Originator data with codevalues

This commit is contained in:
Jose Alberto Hernandez
2026-02-09 16:42:53 +01:00
committed by Adam Saghy
parent 99861ce93a
commit 28f63cc20e
10 changed files with 145 additions and 7 deletions
@@ -25,6 +25,7 @@ import java.util.List;
import java.util.UUID;
import org.apache.fineract.client.feign.FineractFeignClient;
import org.apache.fineract.client.feign.util.CallFailedRuntimeException;
import org.apache.fineract.client.models.GetLoanOriginatorTemplateResponse;
import org.apache.fineract.client.models.GetLoanOriginatorsResponse;
import org.apache.fineract.client.models.PostLoanOriginatorsRequest;
import org.apache.fineract.client.models.PostLoanOriginatorsResponse;
@@ -133,4 +134,8 @@ public class FeignLoanOriginatorHelper {
return null;
});
}
public GetLoanOriginatorTemplateResponse retrieveLoanOriginatorTemplate() {
return ok(() -> fineractClient.loanOriginators().retrieveLoanOriginatorTemplate());
}
}
@@ -19,8 +19,11 @@
package org.apache.fineract.integrationtests.client.feign.tests;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
import org.apache.fineract.client.feign.FineractFeignClient;
import org.apache.fineract.client.feign.util.CallFailedRuntimeException;
import org.apache.fineract.client.models.GetCodeValuesDataResponse;
import org.apache.fineract.client.models.GetLoanOriginatorTemplateResponse;
import org.apache.fineract.client.models.GetLoanOriginatorsResponse;
import org.apache.fineract.client.models.PostLoanOriginatorsRequest;
import org.apache.fineract.client.models.PutLoanOriginatorsRequest;
@@ -30,10 +33,12 @@ import org.apache.fineract.integrationtests.client.feign.helpers.FeignClientHelp
import org.apache.fineract.integrationtests.client.feign.helpers.FeignLoanHelper;
import org.apache.fineract.integrationtests.client.feign.helpers.FeignLoanOriginatorHelper;
import org.apache.fineract.integrationtests.common.FineractFeignClientHelper;
import org.apache.fineract.integrationtests.common.Utils;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
@Slf4j
@Order(1)
public class FeignLoanOriginatorApiTest extends FeignIntegrationTest {
@@ -84,6 +89,32 @@ public class FeignLoanOriginatorApiTest extends FeignIntegrationTest {
originatorHelper.deleteOriginator(originatorId);
}
@Test
public void testCreateOriginatorWithAllFieldsUsingTemplate() {
final String name = Utils.randomStringGenerator("Originator ", 30);
final GetLoanOriginatorTemplateResponse originatorTemplate = originatorHelper.retrieveLoanOriginatorTemplate();
assertThat(originatorTemplate).isNotNull();
final String status = originatorTemplate.getStatusOptions().iterator().next();
final GetCodeValuesDataResponse originatorTypeCode = originatorTemplate.getOriginatorTypeOptions().get(0);
final GetCodeValuesDataResponse channelTypeCode = originatorTemplate.getChannelTypeOptions().get(0);
final Long originatorId = originatorHelper
.createOriginator(new PostLoanOriginatorsRequest().externalId(originatorTemplate.getExternalId()).name(name).status(status)
.originatorTypeId(originatorTypeCode.getId()).channelTypeId(channelTypeCode.getId()));
final GetLoanOriginatorsResponse originator = originatorHelper.getOriginatorById(originatorId);
assertThat(originator.getExternalId()).isEqualTo(originatorTemplate.getExternalId());
assertThat(originator.getName()).isEqualTo(name);
assertThat(originator.getStatus()).isEqualTo(status);
assertThat(originator.getOriginatorType().getName()).isEqualTo(originatorTypeCode.getName());
assertThat(originator.getChannelType().getName()).isEqualTo(channelTypeCode.getName());
originatorHelper.deleteOriginator(originatorId);
}
@Test
public void testRetrieveOriginatorById() {
final String externalId = FeignLoanOriginatorHelper.generateUniqueExternalId();