刘光辉
3 小时以前 06f314545ac3514d7ce28939920866ae8188d31c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package jnpf.dmsController;
 
import jnpf.dmsService.DmsDanganCundangJieshouService;
import jnpf.dmsService.DmsDanganCundangShenqingTongguoService;
import jnpf.dmsService.DmsWenjianGuidangService;
import org.junit.jupiter.api.Test;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
 
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 DmsArchiveRouteRegistrationTest extends DmsControllerTestSupport {
    @Test
    void bothControllersRegisterAndApprovalUsesOriginalArchiveService() throws Exception {
        DmsDanganCundangShenqingTongguoService approval = mock(DmsDanganCundangShenqingTongguoService.class);
        DmsWenjianGuidangService entry = mock(DmsWenjianGuidangService.class);
        MockMvc mvc = MockMvcBuilders.standaloneSetup(
                new DmsDanganCundangJieshouController(mock(DmsDanganCundangJieshouService.class), approval),
                new DmsWenjianGuidangController(entry)).build();
 
        for (String body : new String[]{"{\"flow_id\":\"flow\",\"task_id\":\"task\"}",
                "{\"flowId\":\"flow\",\"taskId\":\"task\"}"}) {
            mvc.perform(post("/biz/dangan/cundang/tongguo")
                            .contentType(MediaType.APPLICATION_JSON).content(body))
                    .andExpect(status().isOk()).andExpect(jsonPath("$.code").value(200));
        }
        verify(approval, times(2)).tongguo("flow", "task");
        verifyNoInteractions(entry);
 
        mvc.perform(post("/biz/wenjian/guidang/shenqing/check")
                        .contentType(MediaType.APPLICATION_JSON).content("{\"dayin_jilu_ids\":[\"copy\"]}"))
                .andExpect(status().isOk()).andExpect(jsonPath("$.code").value(200));
        verify(entry).prepare(any());
    }
}