feat: move Onnba MCI request conversion to use case
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 6m1s
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 6m1s
This commit is contained in:
@@ -0,0 +1,29 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.oth.converter;
|
||||||
|
|
||||||
|
import io.shinhanlife.dap.mcc.biz.oth.dto.Onnba3011Request;
|
||||||
|
import io.shinhanlife.dap.mcc.infra.itrf.mci.cfp.a.io.CLCNNB00001_I;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.infra.itrf.mci.cfp.a.converter
|
||||||
|
* @className Onnba3011Converter
|
||||||
|
* @description Converts ONNBA tool input into the CLCNNB00001 MCI payload
|
||||||
|
* @author 0986406
|
||||||
|
* @create 2026.07.27
|
||||||
|
* <pre>
|
||||||
|
* ---------- revision history ----------
|
||||||
|
* date author description
|
||||||
|
* ---------- --------- ---------------------------
|
||||||
|
* 2026.07.27 0986406 initial creation
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Mapper(componentModel = "spring")
|
||||||
|
public interface Onnba3011Converter {
|
||||||
|
|
||||||
|
CLCNNB00001_I toMciRequest(Onnba3011Request source);
|
||||||
|
|
||||||
|
CLCNNB00001_I.UnfcPrbuIrcoAdduDto toUnfcPrbuIrcoAddu(
|
||||||
|
Onnba3011Request.UnfcPrbuIrcoAdduDto source);
|
||||||
|
|
||||||
|
CLCNNB00001_I.SucoIspaBasDto toSucoIspaBas(Onnba3011Request.SucoIspaBasDto source);
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.biz.oth.usecase.impl;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import io.shinhanlife.dap.mcc.biz.oth.converter.Onnba3011Converter;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.oth.dto.Onnba3011Request;
|
||||||
|
import io.shinhanlife.dap.mcc.infra.itrf.mci.cfp.a.MciCfpaClient;
|
||||||
|
import io.shinhanlife.dap.mcc.infra.itrf.mci.cfp.a.io.CLCNNB00001_I;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.biz.oth.usecase.impl
|
||||||
|
* @className OnnbaMciToolUseCaseImplTest
|
||||||
|
* @description ONNBA MCI tool use case test
|
||||||
|
* @author 0986406
|
||||||
|
* @create 2026.07.27
|
||||||
|
* <pre>
|
||||||
|
* ---------- revision history ----------
|
||||||
|
* date author description
|
||||||
|
* ---------- --------- ---------------------------
|
||||||
|
* 2026.07.27 0986406 initial creation
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
class OnnbaMciToolUseCaseImplTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void convertsToolRequestBeforeCallingMciClient() throws Exception {
|
||||||
|
MciCfpaClient mciCfpaClient = Mockito.mock(MciCfpaClient.class);
|
||||||
|
Onnba3011Converter converter = Mockito.mock(Onnba3011Converter.class);
|
||||||
|
OnnbaMciToolUseCaseImpl useCase = new OnnbaMciToolUseCaseImpl(mciCfpaClient, converter);
|
||||||
|
Onnba3011Request request = new Onnba3011Request();
|
||||||
|
CLCNNB00001_I mciRequest = new CLCNNB00001_I();
|
||||||
|
|
||||||
|
when(converter.toMciRequest(request)).thenReturn(mciRequest);
|
||||||
|
when(mciCfpaClient.callCfpa0001(mciRequest)).thenReturn("success");
|
||||||
|
|
||||||
|
Object result = useCase.callOnnba3011(request);
|
||||||
|
|
||||||
|
assertEquals("success", result);
|
||||||
|
verify(converter).toMciRequest(request);
|
||||||
|
verify(mciCfpaClient).callCfpa0001(mciRequest);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
package io.shinhanlife.dap.mcc.infra.itrf.mci.cfp.a.converter;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||||
|
|
||||||
|
import io.shinhanlife.dap.mcc.biz.oth.converter.Onnba3011Converter;
|
||||||
|
import io.shinhanlife.dap.mcc.biz.oth.dto.Onnba3011Request;
|
||||||
|
import io.shinhanlife.dap.mcc.infra.itrf.mci.cfp.a.io.CLCNNB00001_I;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @package io.shinhanlife.dap.mcc.infra.itrf.mci.cfp.a.converter
|
||||||
|
* @className Onnba3011MciRequestConverterTest
|
||||||
|
* @description ONNBA 3011 request converter test
|
||||||
|
* @author 0986406
|
||||||
|
* @create 2026.07.27
|
||||||
|
* <pre>
|
||||||
|
* ---------- revision history ----------
|
||||||
|
* date author description
|
||||||
|
* ---------- --------- ---------------------------
|
||||||
|
* 2026.07.27 0986406 initial creation
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
class Onnba3011MciRequestConverterTest {
|
||||||
|
|
||||||
|
private final Onnba3011Converter converter = Mappers.getMapper(Onnba3011Converter.class);
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void mapsRootAndNestedRequestFieldsToMciPayload() {
|
||||||
|
Onnba3011Request source = request();
|
||||||
|
|
||||||
|
CLCNNB00001_I result = converter.toMciRequest(source);
|
||||||
|
|
||||||
|
assertEquals("A", result.getDalScCd());
|
||||||
|
assertEquals("123456", result.getCsNo());
|
||||||
|
assertNotNull(result.getUnfcPrbuIrcoAddu());
|
||||||
|
assertNotNull(result.getSucoIspaBasDto());
|
||||||
|
assertEquals("01", result.getSucoIspaBasDto().getCcnDalTypCd());
|
||||||
|
assertEquals("20260727", result.getSucoIspaBasDto().getSucoYmd());
|
||||||
|
}
|
||||||
|
|
||||||
|
private Onnba3011Request request() {
|
||||||
|
Onnba3011Request request = new Onnba3011Request();
|
||||||
|
request.setDalScCd("A");
|
||||||
|
request.setCsNo("123456");
|
||||||
|
request.setUnfcPrbuIrcoAddu(new Onnba3011Request.UnfcPrbuIrcoAdduDto());
|
||||||
|
|
||||||
|
Onnba3011Request.SucoIspaBasDto suco = new Onnba3011Request.SucoIspaBasDto();
|
||||||
|
suco.setCcnDalTypCd("01");
|
||||||
|
suco.setSucoYmd("20260727");
|
||||||
|
request.setSucoIspaBasDto(suco);
|
||||||
|
return request;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user