package jnpf.dmsController;
|
|
import jnpf.dmsEntity.form.DmsWenjianFushenZhixingBatchReturnForm;
|
import jnpf.dmsEntity.form.DmsWenjianFushenZhixingWriteBackForm;
|
import jnpf.dmsService.DmsWenjianFushenZhixingService;
|
import org.junit.Before;
|
import org.junit.Test;
|
import org.mockito.ArgumentCaptor;
|
import org.springframework.http.MediaType;
|
import org.springframework.test.web.servlet.MockMvc;
|
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
|
import java.util.List;
|
|
import static org.junit.Assert.assertEquals;
|
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.verify;
|
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
|
public class DmsWenjianFushenZhixingControllerTest {
|
|
private MockMvc mockMvc;
|
private DmsWenjianFushenZhixingService zhixingService;
|
|
@Before
|
public void setUp() {
|
zhixingService = mock(DmsWenjianFushenZhixingService.class);
|
mockMvc = MockMvcBuilders.standaloneSetup(new DmsWenjianFushenZhixingController(zhixingService)).build();
|
}
|
|
@Test
|
public void batchReturnAcceptsTheRequestedArrayFormat() throws Exception {
|
mockMvc.perform(post("/biz/wenjian/fushen/zhixing/batch-return")
|
.contentType(MediaType.APPLICATION_JSON)
|
.content("[{\"fenpei_zixiang_id\":\"detail-1\"},"
|
+ "{\"fenpei_zixiang_id\":\"detail-2\"}]"))
|
.andExpect(status().isOk())
|
.andExpect(jsonPath("$.code").value(200))
|
.andExpect(jsonPath("$.msg").value("文件复审执行批量退回成功"));
|
|
ArgumentCaptor<List> captor = ArgumentCaptor.forClass(List.class);
|
verify(zhixingService).batchReturn(captor.capture());
|
DmsWenjianFushenZhixingBatchReturnForm first =
|
(DmsWenjianFushenZhixingBatchReturnForm) captor.getValue().get(0);
|
DmsWenjianFushenZhixingBatchReturnForm second =
|
(DmsWenjianFushenZhixingBatchReturnForm) captor.getValue().get(1);
|
assertEquals("detail-1", first.getFenpeiZixiangId());
|
assertEquals("detail-2", second.getFenpeiZixiangId());
|
}
|
|
@Test
|
public void writeBackAcceptsTheExecutionId() throws Exception {
|
mockMvc.perform(post("/biz/wenjian/fushen/zhixing/write-back")
|
.contentType(MediaType.APPLICATION_JSON)
|
.content("{\"f_id\":\"execution-1\"}"))
|
.andExpect(status().isOk())
|
.andExpect(jsonPath("$.code").value(200))
|
.andExpect(jsonPath("$.msg").value("文件复审执行结果回写成功"));
|
|
ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
|
verify(zhixingService).writeBack(captor.capture());
|
assertEquals("execution-1", captor.getValue());
|
}
|
}
|