package jnpf.dmsController;
|
|
import jnpf.base.UserInfo;
|
import jnpf.dmsPermission.DmsCurrentIdentity;
|
import jnpf.dmsService.DmsApprovedDisableFlowService;
|
import jnpf.dmsService.DmsDisableOccupancyService;
|
import org.junit.jupiter.api.Test;
|
import org.springframework.http.HttpStatus;
|
import org.springframework.test.web.servlet.MockMvc;
|
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
import org.springframework.web.client.HttpServerErrorException;
|
import static org.mockito.Mockito.*;
|
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
|
|
class DmsApprovedDisableControllerTest {
|
@Test void unavailableDisableIsHttp502ForBothNativeFlowCallbacks() throws Exception {
|
DmsCurrentIdentity identity=mock(DmsCurrentIdentity.class);
|
DmsApprovedDisableFlowService service=mock(DmsApprovedDisableFlowService.class);
|
DmsDisableOccupancyService occupancy=mock(DmsDisableOccupancyService.class);
|
UserInfo user=new UserInfo();when(identity.requireUser()).thenReturn(user);when(identity.tenantId(user)).thenReturn("tenant");
|
doThrow(new HttpServerErrorException(HttpStatus.BAD_GATEWAY,"DMS 文件中心 disable 接口尚未实现"))
|
.when(service).onEvent(eq("tenant"),eq("flow"),eq("task"),anyString(),eq("end"));
|
MockMvc mvc=MockMvcBuilders.standaloneSetup(new DmsApprovedDisableController(identity,service,occupancy)).build();
|
for(String operation:new String[]{"chexiao","shixiao"}) {
|
mvc.perform(post("/biz/wenjian/disable/"+operation+"/flow-event")
|
.contentType("application/json")
|
.content("{\"flow_id\":\"flow\",\"task_id\":\"task\",\"event_type\":\"end\"}"))
|
.andExpect(status().isBadGateway()).andExpect(jsonPath("$.code").value(502));
|
}
|
verifyNoInteractions(occupancy);
|
}
|
}
|