diff --git a/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestDeleteSampleTest.java b/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestDeleteSampleTest.java new file mode 100644 index 0000000..dda5768 --- /dev/null +++ b/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestDeleteSampleTest.java @@ -0,0 +1,67 @@ +package egovframework.example.sample.web; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +import java.time.LocalDateTime; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import egovframework.example.sample.service.EgovSampleService; +import egovframework.example.sample.service.SampleVO; +import egovframework.test.EgovTestAbstractSpringMvc; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +/** + * [게시판][EgovSampleController.deleteSample] Controller 단위 테스트 + * + * @author 이백행 + * @since 2025-05-28 + */ +@RequiredArgsConstructor +@Slf4j +class EgovSampleControllerTestDeleteSampleTest extends EgovTestAbstractSpringMvc { + + @Autowired + private EgovSampleService sampleService; + + @Test + void test() throws Exception { + // given: 먼저 등록 + final SampleVO sampleVO = new SampleVO(); + final LocalDateTime now = LocalDateTime.now(); + + sampleVO.setName("test 이백행 삭제대상 " + now); + sampleVO.setUseYn("Y"); + sampleVO.setDescription("test 이백행 설명 " + now); + sampleVO.setRegUser("test"); + sampleService.insertSample(sampleVO); + + final String id = sampleVO.getId(); + + if (log.isDebugEnabled()) { + log.debug("insertedId={}", id); + } + + // when: 삭제 요청 + mockMvc.perform( + post("/deleteSample.do") + .param("id", id) + ) + .andDo(print()) + .andExpect(status().isFound()) + ; + + // then + if (log.isDebugEnabled()) { + log.debug("test"); + } + + assertEquals("", "", "글을 삭제한다."); + } + +} diff --git a/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestSelectListTest.java b/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestSelectListTest.java new file mode 100644 index 0000000..7a135ff --- /dev/null +++ b/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestSelectListTest.java @@ -0,0 +1,44 @@ +package egovframework.example.sample.web; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.model; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +import org.junit.jupiter.api.Test; + +import egovframework.test.EgovTestAbstractSpringMvc; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +/** + * [게시판][EgovSampleController.selectSampleList] Controller 단위 테스트 + * + * @author 이백행 + * @since 2025-05-28 + */ +@RequiredArgsConstructor +@Slf4j +class EgovSampleControllerTestSelectListTest extends EgovTestAbstractSpringMvc { + + @Test + void test() throws Exception { + // when + mockMvc.perform( + get("/egovSampleList.do") + ) + .andDo(print()) + .andExpect(status().isOk()) + .andExpect(model().attributeExists("resultList")) + ; + + // then + if (log.isDebugEnabled()) { + log.debug("test"); + } + + assertEquals("", "", "글 목록을 조회한다."); + } + +} diff --git a/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestUpdateSampleTest.java b/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestUpdateSampleTest.java new file mode 100644 index 0000000..817c655 --- /dev/null +++ b/src/test/java/egovframework/example/sample/web/EgovSampleControllerTestUpdateSampleTest.java @@ -0,0 +1,71 @@ +package egovframework.example.sample.web; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +import java.time.LocalDateTime; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import egovframework.example.sample.service.EgovSampleService; +import egovframework.example.sample.service.SampleVO; +import egovframework.test.EgovTestAbstractSpringMvc; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +/** + * [게시판][EgovSampleController.updateSample] Controller 단위 테스트 + * + * @author 이백행 + * @since 2025-05-28 + */ +@RequiredArgsConstructor +@Slf4j +class EgovSampleControllerTestUpdateSampleTest extends EgovTestAbstractSpringMvc { + + @Autowired + private EgovSampleService sampleService; + + @Test + void test() throws Exception { + // given: 먼저 등록 + final SampleVO sampleVO = new SampleVO(); + final LocalDateTime now = LocalDateTime.now(); + + sampleVO.setName("test 이백행 수정전 " + now); + sampleVO.setUseYn("Y"); + sampleVO.setDescription("test 이백행 설명 " + now); + sampleVO.setRegUser("test"); + sampleService.insertSample(sampleVO); + + final String id = sampleVO.getId(); + + if (log.isDebugEnabled()) { + log.debug("insertedId={}", id); + } + + // when: 수정 요청 + mockMvc.perform( + post("/updateSample.do") + .param("id", id) + .param("name", "test 이백행 수정후 " + now) + .param("description", "test 이백행 수정설명 " + now) + .param("regUser", "test") + .param("useYn", "Y") + ) + .andDo(print()) + .andExpect(status().isFound()) + ; + + // then + if (log.isDebugEnabled()) { + log.debug("test"); + } + + assertEquals("", "", "글을 수정한다."); + } + +}