package jnpf.dmsController;
|
|
import jnpf.dmsEntity.form.DmsDanganCundangDanganhePrintCallbackForm;
|
import jnpf.dmsService.DmsDanganCundangDanganhePrintCallbackService;
|
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 DmsDanganCundangDanganhePrintCallbackControllerTest {
|
|
private MockMvc mockMvc;
|
private DmsDanganCundangDanganhePrintCallbackService printCallbackService;
|
|
@Before
|
public void setUp() {
|
printCallbackService = mock(DmsDanganCundangDanganhePrintCallbackService.class);
|
DmsDanganCundangDanganhePrintCallbackController controller =
|
new DmsDanganCundangDanganhePrintCallbackController(printCallbackService);
|
mockMvc = MockMvcBuilders.standaloneSetup(controller).build();
|
}
|
|
@Test
|
public void printCallbackPassesRawArrayAndSnakeCaseFIdToService() throws Exception {
|
mockMvc.perform(post("/biz/dangan/cundang/danganhe/print-callback")
|
.contentType(MediaType.APPLICATION_JSON)
|
.content("[{\"id\":\"row-1\",\"f_id\":\"box-1\"}]"))
|
.andExpect(status().isOk())
|
.andExpect(jsonPath("$.code").value(200))
|
.andExpect(jsonPath("$.msg").value("档案盒打印状态更新成功"));
|
|
ArgumentCaptor<List<DmsDanganCundangDanganhePrintCallbackForm>> captor =
|
ArgumentCaptor.forClass(List.class);
|
verify(printCallbackService).markPrinted(captor.capture());
|
assertEquals("row-1", captor.getValue().get(0).getId());
|
assertEquals("box-1", captor.getValue().get(0).getFId());
|
}
|
}
|