수정 테스트 코드
@Test
public void 게시물_제목_변경() throws Exception {
// given
Long targetPostId = 1L;
PostDTO post = postService.getPost(targetPostId);
PostDTO postDTO = PostDTO.builder()
.title("title update")
.contents(post.getContents())
.build();
// when
ResultActions perform = mockMvc.perform(put("/post/{id}", targetPostId)
.contentType(MediaType.APPLICATION_JSON)
.content(objectMapper.writeValueAsString(postDTO)));
// then
perform
.andExpect(jsonPath("message").exists())
.andExpect(jsonPath("message").value("success"))
.andExpect(status().isOk())
.andDo(print());
}
@Test
public void 게시물_내용_변경() throws Exception {
// given
Long targetPostId = 1L;
PostDTO post = postService.getPost(targetPostId);
PostDTO postDTO = PostDTO.builder()
.title(post.getTitle())
.contents("contents update")
.build();
// when
ResultActions perform = mockMvc.perform(put("/post/{id}", targetPostId)
.contentType(MediaType.APPLICATION_JSON)
.content(objectMapper.writeValueAsString(postDTO)));
// then
perform
.andExpect(jsonPath("message").exists())
.andExpect(jsonPath("message").value("success"))
.andExpect(status().isOk())
.andDo(print());
}
@Test
public void 게시물_제목_내_변경() throws Exception {
// given
Long targetPostId = 1L;
PostDTO post = postService.getPost(targetPostId);
PostDTO postDTO = PostDTO.builder()
.title(post.getTitle())
.title("title update")
.contents("contents update")
.build();
// when
ResultActions perform = mockMvc.perform(put("/post/{id}", targetPostId)
.contentType(MediaType.APPLICATION_JSON)
.content(objectMapper.writeValueAsString(postDTO)));
// then
perform
.andExpect(jsonPath("message").exists())
.andExpect(jsonPath("message").value("success"))
.andExpect(status().isOk())
.andDo(print());
}
제목만 수정하였을경우, 내용만 수정하였을경우, 둘다 수정하였을경우의 케이스를 모두 테스트 하였습니다.
삭제 테스트 코드
@Test
public void 게시물_삭제() throws Exception {
// given
Long targetPostId = 1L;
// when
ResultActions perform = mockMvc.perform(delete("/post/{id}", targetPostId));
// then
perform.andExpect(status().isOk())
.andExpect(jsonPath("message").exists())
.andExpect(jsonPath("message").value("success"))
.andDo(print());
}
'스프링 부트' 카테고리의 다른 글
스프링부트 게시판 API 만들기 - 6 (Spring Security를 사용하여 Json로그인 하기) (0) | 2021.04.25 |
---|---|
스프링부트 게시판 API 만들기 - 5 (유저 생성 및 테스트코드 작성) (0) | 2021.04.23 |
스프링부트 게시판 API 만들기 - 3 (게시글 수정, 삭제 코드 작성) (0) | 2021.04.22 |
스프링부트 게시판 API 만들기 - 1 (환경 설정, 게시물 가져오기, 게시물 등록하기) (0) | 2021.04.21 |
Thymeleaf와 @ControllerAdvice를 활용하여 원하는 에러페이지 만들기 (0) | 2021.04.19 |