diff --git a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/loan/LoanServiceTest.java b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/loan/LoanServiceTest.java index 9a8961a..057dbeb 100644 --- a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/loan/LoanServiceTest.java +++ b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/v2/loan/LoanServiceTest.java @@ -6,6 +6,7 @@ import com.czcb.scfs.api.core.http.HttpResponse; import com.czcb.scfs.api.core.http.RequestBody; import com.czcb.scfs.api.core.util.Json; import com.czcb.scfs.api.service.MockHttpResponse; +import com.czcb.scfs.api.service.v2.file.model.FileMaterial; import com.czcb.scfs.api.service.v2.loan.model.*; import org.assertj.core.util.Lists; import org.junit.jupiter.api.Assertions; @@ -1090,4 +1091,107 @@ class LoanServiceTest { Assertions.assertEquals("setSysDate", response.getSysDate()); Assertions.assertEquals("setSysTime", response.getSysTime()); } + + @Test + void loanPayDrawTest() { + CreditLoanRequest request = new CreditLoanRequest(); + extractedCreditLoanRequestParams(request); + extractedCreditLoanRequestAssertions(request); + + System.out.println(Json.toJson(request)); + String requestJson = Json.toJson(request); + Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"apply_account_no\":\"setApplyAccountNo\",\"apply_account_name\":\"setApplyAccountName\",\"st_opp_account_no\":\"setStOppAccountNo\",\"st_opp_account_name\":\"setStOppAccountName\",\"contract_no\":\"setContractNo\",\"trans_amount\":100.0,\"period\":\"setPeriod\",\"verify_code\":\"setVerifyCode\",\"trans_summary\":\"setTransSummary\",\"file_list\":[{\"file_no\":\"setFileNo\",\"file_type\":\"setFileType\"}]}", requestJson); + + CreditLoanResponse response = new CreditLoanResponse(); + extractedCreditLoanResponseParams(response); + extractedCreditLoanResponseAssertions(response); + + System.out.println(Json.toJson(response)); + String responseJson = Json.toJson(response); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"contract_no\":\"setContractNo\",\"loan_acct_no\":\"setLoanAcctNo\",\"acct_seq_no\":\"setAcctSeqNo\",\"loan_amount\":100.0,\"loan_scale\":100.0}", responseJson); + + HttpResponse httpResponse = MockHttpResponse.create("/loan-pay/draw", response, CreditLoanResponse.class); + Mockito.when(apiClient.post( + Mockito.eq("/loan-pay/draw"), + Mockito.any(HttpHeaders.class), + Mockito.any(RequestBody.class), + Mockito.eq(CreditLoanResponse.class))) + .thenReturn(httpResponse); + + CreditLoanResponse result = service.loanPayDraw(request); + + System.out.println(Json.toJson(result)); + String resultJson = Json.toJson(result); + Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"contract_no\":\"setContractNo\",\"loan_acct_no\":\"setLoanAcctNo\",\"acct_seq_no\":\"setAcctSeqNo\",\"loan_amount\":100.0,\"loan_scale\":100.0}", resultJson); + } + void extractedCreditLoanRequestParams(CreditLoanRequest request) { + request.setVerifyCode("setVerifyCode"); + request.setTransSummary("setTransSummary"); + request.setSerialNo("setSerialNo"); + request.setContractNo("setContractNo"); + request.setTransAmount(BigDecimal.valueOf(100.00)); + request.setPeriod("setPeriod"); + request.setTransDate("setTransDate"); + request.setAppNo("setAppNo"); + request.setChannelNo("setChannelNo"); + FileMaterial filematerial = new FileMaterial(); + extractedCreditLoanRequestFileMaterialNestParams(filematerial); + request.setFileList(Lists.list(filematerial)); + request.setApplyAccountName("setApplyAccountName"); + request.setTransTradeTime("setTransTradeTime"); + request.setApplyAccountNo("setApplyAccountNo"); + request.setStOppAccountName("setStOppAccountName"); + request.setStOppAccountNo("setStOppAccountNo"); + } + void extractedCreditLoanRequestFileMaterialNestParams(FileMaterial nest) { + nest.setFileNo("setFileNo"); + nest.setFileType("setFileType"); + } + void extractedCreditLoanRequestFileMaterialNestAssertions(FileMaterial nest) { + Assertions.assertEquals("setFileNo", nest.getFileNo()); + Assertions.assertEquals("setFileType", nest.getFileType()); + } + void extractedCreditLoanRequestAssertions(CreditLoanRequest request) { + Assertions.assertEquals("setVerifyCode", request.getVerifyCode()); + Assertions.assertEquals("setTransSummary", request.getTransSummary()); + Assertions.assertEquals("setSerialNo", request.getSerialNo()); + Assertions.assertEquals("setContractNo", request.getContractNo()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getTransAmount()); + Assertions.assertEquals("setPeriod", request.getPeriod()); + Assertions.assertEquals("setTransDate", request.getTransDate()); + Assertions.assertEquals("setAppNo", request.getAppNo()); + Assertions.assertEquals("setChannelNo", request.getChannelNo()); + for (FileMaterial filematerial : request.getFileList()) { + extractedCreditLoanRequestFileMaterialNestAssertions(filematerial); + } + Assertions.assertEquals("setApplyAccountName", request.getApplyAccountName()); + Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime()); + Assertions.assertEquals("setApplyAccountNo", request.getApplyAccountNo()); + Assertions.assertEquals("setStOppAccountName", request.getStOppAccountName()); + Assertions.assertEquals("setStOppAccountNo", request.getStOppAccountNo()); + } + void extractedCreditLoanResponseParams(CreditLoanResponse response) { + response.setContractNo("setContractNo"); + response.setLoanScale(BigDecimal.valueOf(100.00)); + response.setAcctSeqNo("setAcctSeqNo"); + response.setSysSerialNo("setSysSerialNo"); + response.setSysTime("setSysTime"); + response.setLoanAcctNo("setLoanAcctNo"); + response.setRecodeInfo("setRecodeInfo"); + response.setLoanAmount(BigDecimal.valueOf(100.00)); + response.setRecode("setRecode"); + response.setSysDate("setSysDate"); + } + void extractedCreditLoanResponseAssertions(CreditLoanResponse response) { + Assertions.assertEquals("setContractNo", response.getContractNo()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), response.getLoanScale()); + Assertions.assertEquals("setAcctSeqNo", response.getAcctSeqNo()); + Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo()); + Assertions.assertEquals("setSysTime", response.getSysTime()); + Assertions.assertEquals("setLoanAcctNo", response.getLoanAcctNo()); + Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo()); + Assertions.assertEquals(BigDecimal.valueOf(100.00), response.getLoanAmount()); + Assertions.assertEquals("setRecode", response.getRecode()); + Assertions.assertEquals("setSysDate", response.getSysDate()); + } } \ No newline at end of file