|
@@ -2,13 +2,18 @@ package com.dragonsoft.dcuc.approve.business.impl;
|
|
|
|
|
|
import com.dragoninfo.dcuc.common.utils.ResponseUtil;
|
|
|
import com.dragoninfo.dcuc.duceap.enums.SchemeTypeEnum;
|
|
|
+import com.dragonsoft.dcuc.approve.model.ApproveCirculationInfo;
|
|
|
import com.dragonsoft.dcuc.approve.model.RiskScheme;
|
|
|
+import com.dragonsoft.dcuc.approve.service.IApproveCirculationService;
|
|
|
import com.dragonsoft.dcuc.approve.service.IRiskSchemeService;
|
|
|
import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
|
|
|
+import com.dragonsoft.duceap.commons.util.UUIDUtils;
|
|
|
import org.junit.Assert;
|
|
|
import org.junit.Test;
|
|
|
import org.mockito.Mockito;
|
|
|
|
|
|
+import java.util.Arrays;
|
|
|
+
|
|
|
/**
|
|
|
* <p>
|
|
|
*
|
|
@@ -42,4 +47,62 @@ public class RiskBusinessImplTest {
|
|
|
Assert.assertTrue(ResponseUtil.isSuccess(responseStatus1));
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void singleApproveRisk() {
|
|
|
+
|
|
|
+ String approveRecordId = UUIDUtils.getUUID();
|
|
|
+ String operateIdcard = "421302198608160200";
|
|
|
+ String userName = "燕菊黛";
|
|
|
+
|
|
|
+ IRiskSchemeService riskSchemeService = Mockito.mock(IRiskSchemeService.class);
|
|
|
+
|
|
|
+ RiskScheme riskScheme = new RiskScheme();
|
|
|
+ riskScheme.setContinuousApproveNum(String.valueOf(2));
|
|
|
+ Mockito.when(riskSchemeService.selectEnableSchemeByType(SchemeTypeEnum.SINGLE_APPROVE_RISK))
|
|
|
+ .thenReturn(riskScheme);
|
|
|
+
|
|
|
+ ApproveCirculationInfo approveCirculationInfo = new ApproveCirculationInfo();
|
|
|
+ approveCirculationInfo.setNodeName("开始");
|
|
|
+ approveCirculationInfo.setOperateUserId(operateIdcard);
|
|
|
+
|
|
|
+ ApproveCirculationInfo approveCirculationInfo1 = new ApproveCirculationInfo();
|
|
|
+ approveCirculationInfo1.setNodeName("节点1");
|
|
|
+ approveCirculationInfo1.setOperateUserId(operateIdcard);
|
|
|
+
|
|
|
+
|
|
|
+ ApproveCirculationInfo approveCirculationInfo2 = new ApproveCirculationInfo();
|
|
|
+ approveCirculationInfo2.setNodeName("节点2");
|
|
|
+ approveCirculationInfo2.setOperateUserId(operateIdcard);
|
|
|
+
|
|
|
+ IApproveCirculationService approveCirculationService = Mockito.mock(IApproveCirculationService.class);
|
|
|
+ Mockito.when(approveCirculationService.getListByApproveRecordIdAndAgree(approveRecordId))
|
|
|
+ .thenReturn(Arrays.asList(approveCirculationInfo, approveCirculationInfo1, approveCirculationInfo2));
|
|
|
+
|
|
|
+
|
|
|
+ RiskBusinessImpl riskBusiness = new RiskBusinessImpl();
|
|
|
+ riskBusiness.setRiskSchemeService(riskSchemeService);
|
|
|
+ riskBusiness.setApproveCirculationService(approveCirculationService);
|
|
|
+
|
|
|
+ ResponseStatus responseStatus = riskBusiness.singleApproveRisk(approveRecordId, operateIdcard, userName);
|
|
|
+ Assert.assertTrue(ResponseUtil.isFail(responseStatus));
|
|
|
+ Assert.assertEquals("审批流程流转过程中,连续2个节点审批人相同,审批人都是:燕菊黛(421302198608160200)。", responseStatus.getMessage());
|
|
|
+
|
|
|
+
|
|
|
+ RiskScheme riskScheme1 = new RiskScheme();
|
|
|
+ riskScheme1.setContinuousApproveNum(String.valueOf(3));
|
|
|
+ Mockito.when(riskSchemeService.selectEnableSchemeByType(SchemeTypeEnum.SINGLE_APPROVE_RISK))
|
|
|
+ .thenReturn(riskScheme1);
|
|
|
+
|
|
|
+ ResponseStatus responseStatus1 = riskBusiness.singleApproveRisk(approveRecordId, operateIdcard, userName);
|
|
|
+ Assert.assertTrue(ResponseUtil.isSuccess(responseStatus1));
|
|
|
+
|
|
|
+ approveCirculationInfo2.setNodeName("节点1");
|
|
|
+ Mockito.when(riskSchemeService.selectEnableSchemeByType(SchemeTypeEnum.SINGLE_APPROVE_RISK))
|
|
|
+ .thenReturn(riskScheme);
|
|
|
+
|
|
|
+ ResponseStatus responseStatus2 = riskBusiness.singleApproveRisk(approveRecordId, operateIdcard, userName);
|
|
|
+ Assert.assertTrue(ResponseUtil.isSuccess(responseStatus2));
|
|
|
+
|
|
|
+ }
|
|
|
}
|