From a884d3f8c1ee17d4c12b74157310fcac834730c4 Mon Sep 17 00:00:00 2001 From: MangKyu Date: Sat, 18 Feb 2023 17:47:08 +0900 Subject: [PATCH] Refactor all answer test --- .../controller/AddAnswerControllerTest.java | 15 ++++++----- .../DeleteAnswerControllerTest.java | 8 ++---- .../controller/GetAnswerControllerTest.java | 25 ++++++++----------- .../UpdateAnswerControllerTest.java | 17 ++++++------- .../repository/AnswerRepositoryTest.java | 2 +- .../answer/service/AddAnswerServiceTest.java | 9 +++---- .../service/DeleteAnswerServiceTest.java | 9 +------ .../answer/service/GetAnswerServiceTest.java | 4 +-- .../service/UpdateAnswerServiceTest.java | 2 +- 9 files changed, 37 insertions(+), 54 deletions(-) diff --git a/src/test/java/com/mangkyu/employment/interview/app/answer/controller/AddAnswerControllerTest.java b/src/test/java/com/mangkyu/employment/interview/app/answer/controller/AddAnswerControllerTest.java index 5188992..3c067aa 100644 --- a/src/test/java/com/mangkyu/employment/interview/app/answer/controller/AddAnswerControllerTest.java +++ b/src/test/java/com/mangkyu/employment/interview/app/answer/controller/AddAnswerControllerTest.java @@ -1,7 +1,6 @@ package com.mangkyu.employment.interview.app.answer.controller; -import com.google.gson.Gson; -import com.mangkyu.employment.interview.app.answer.service.GetAnswerService; +import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -25,11 +24,11 @@ class AddAnswerControllerTest { private MockMvc mockMvc; @Autowired - private GetAnswerService answerService; + private ObjectMapper objectMapper; @ParameterizedTest @MethodSource("provideParameters") - public void addAnswerFail_InvalidParameter(final String quizResourceId, final String desc) throws Exception { + void addAnswerFail_InvalidParameter(final String quizResourceId, final String desc) throws Exception { // given final AddAnswerRequest request = AddAnswerRequest.builder() .quizResourceId(quizResourceId) @@ -39,7 +38,7 @@ class AddAnswerControllerTest { // when final ResultActions result = mockMvc.perform( MockMvcRequestBuilders.post("/answers") - .content(new Gson().toJson(request)) + .content(objectMapper.writeValueAsString(request)) .contentType(MediaType.APPLICATION_JSON) ); @@ -48,9 +47,9 @@ class AddAnswerControllerTest { } @Test - public void addAnswerSuccess() throws Exception { + void addAnswerSuccess() throws Exception { // given - final AddAnswerRequest addAnswerRequest = AddAnswerRequest.builder() + final AddAnswerRequest request = AddAnswerRequest.builder() .quizResourceId(UUID.randomUUID().toString()) .description("desc") .build(); @@ -59,7 +58,7 @@ class AddAnswerControllerTest { // when final ResultActions result = mockMvc.perform( MockMvcRequestBuilders.post("/answers") - .content(new Gson().toJson(addAnswerRequest)) + .content(objectMapper.writeValueAsString(request)) .contentType(MediaType.APPLICATION_JSON) ); diff --git a/src/test/java/com/mangkyu/employment/interview/app/answer/controller/DeleteAnswerControllerTest.java b/src/test/java/com/mangkyu/employment/interview/app/answer/controller/DeleteAnswerControllerTest.java index 2a277a1..f0446ae 100644 --- a/src/test/java/com/mangkyu/employment/interview/app/answer/controller/DeleteAnswerControllerTest.java +++ b/src/test/java/com/mangkyu/employment/interview/app/answer/controller/DeleteAnswerControllerTest.java @@ -1,6 +1,5 @@ package com.mangkyu.employment.interview.app.answer.controller; -import com.mangkyu.employment.interview.app.answer.service.GetAnswerService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; @@ -18,16 +17,13 @@ class DeleteAnswerControllerTest { @Autowired private MockMvc mockMvc; - @Autowired - private GetAnswerService answerService; - @Test - public void deleteAnswerSuccess() throws Exception { + void deleteAnswerSuccess() throws Exception { // given // when final ResultActions result = mockMvc.perform( - MockMvcRequestBuilders.delete("/answers/" + UUID.randomUUID()) + MockMvcRequestBuilders.delete("/answers/{resourceId}", UUID.randomUUID()) ); // then diff --git a/src/test/java/com/mangkyu/employment/interview/app/answer/controller/GetAnswerControllerTest.java b/src/test/java/com/mangkyu/employment/interview/app/answer/controller/GetAnswerControllerTest.java index b36fef4..99ada19 100644 --- a/src/test/java/com/mangkyu/employment/interview/app/answer/controller/GetAnswerControllerTest.java +++ b/src/test/java/com/mangkyu/employment/interview/app/answer/controller/GetAnswerControllerTest.java @@ -1,6 +1,9 @@ package com.mangkyu.employment.interview.app.answer.controller; +import com.mangkyu.employment.interview.app.answer.entity.Answer; import com.mangkyu.employment.interview.app.answer.service.GetAnswerService; +import com.mangkyu.employment.interview.app.quiz.entity.Quiz; +import com.mangkyu.employment.interview.testutils.EntityCreationUtils; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; @@ -24,28 +27,22 @@ class GetAnswerControllerTest { private GetAnswerService answerService; @Test - public void getAnswer() throws Exception { + void getAnswer() throws Exception { // given - final String resourceId = UUID.randomUUID().toString(); - final GetAnswerResponse getAnswerResponse = GetAnswerResponse.builder() - .resourceId(resourceId) - .quizResourceId(UUID.randomUUID().toString()) - .description("설명") - .createdAt(System.currentTimeMillis()) - .build(); + final Quiz quiz = EntityCreationUtils.quiz(); + final Answer answer = EntityCreationUtils.answer(quiz); - doReturn(getAnswerResponse).when(answerService).get(resourceId); + doReturn(answer) + .when(answerService) + .get(answer.getResourceId()); // when final ResultActions result = mockMvc.perform( - MockMvcRequestBuilders.get("/answers/" + resourceId) + MockMvcRequestBuilders.get("/answers/{resourceId}", answer.getResourceId()) ); // then - result.andExpect(status().isOk()) - .andExpect(jsonPath("resourceId").value(getAnswerResponse.getResourceId())) - .andExpect(jsonPath("quizResourceId").value(getAnswerResponse.getQuizResourceId())) - .andExpect(jsonPath("description").value(getAnswerResponse.getDescription())); + result.andExpect(status().isOk()); } diff --git a/src/test/java/com/mangkyu/employment/interview/app/answer/controller/UpdateAnswerControllerTest.java b/src/test/java/com/mangkyu/employment/interview/app/answer/controller/UpdateAnswerControllerTest.java index 932fcf6..265ac86 100644 --- a/src/test/java/com/mangkyu/employment/interview/app/answer/controller/UpdateAnswerControllerTest.java +++ b/src/test/java/com/mangkyu/employment/interview/app/answer/controller/UpdateAnswerControllerTest.java @@ -1,7 +1,6 @@ package com.mangkyu.employment.interview.app.answer.controller; -import com.google.gson.Gson; -import com.mangkyu.employment.interview.app.answer.service.GetAnswerService; +import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -25,13 +24,13 @@ class UpdateAnswerControllerTest { private MockMvc mockMvc; @Autowired - private GetAnswerService answerService; + private ObjectMapper objectMapper; @ParameterizedTest @MethodSource("provideParameters") - public void putAnswerFail_InvalidParameter(final String quizResourceId, final String desc) throws Exception { + void putAnswerFail_InvalidParameter(final String quizResourceId, final String desc) throws Exception { // given - final AddAnswerRequest addAnswerRequest = AddAnswerRequest.builder() + final AddAnswerRequest request = AddAnswerRequest.builder() .quizResourceId(quizResourceId) .description(desc) .build(); @@ -39,7 +38,7 @@ class UpdateAnswerControllerTest { // when final ResultActions result = mockMvc.perform( MockMvcRequestBuilders.put("/answers") - .content(new Gson().toJson(addAnswerRequest)) + .content(objectMapper.writeValueAsString(request)) .contentType(MediaType.APPLICATION_JSON) ); @@ -48,11 +47,11 @@ class UpdateAnswerControllerTest { } @Test - public void putAnswerSuccess() throws Exception { + void updateAnswerSuccess() throws Exception { // given final String url = "/answers"; - final AddAnswerRequest addAnswerRequest = AddAnswerRequest.builder() + final AddAnswerRequest request = AddAnswerRequest.builder() .quizResourceId(UUID.randomUUID().toString()) .description("desc") .build(); @@ -61,7 +60,7 @@ class UpdateAnswerControllerTest { // when final ResultActions result = mockMvc.perform( MockMvcRequestBuilders.put(url) - .content(new Gson().toJson(addAnswerRequest)) + .content(objectMapper.writeValueAsString(request)) .contentType(MediaType.APPLICATION_JSON) ); diff --git a/src/test/java/com/mangkyu/employment/interview/app/answer/repository/AnswerRepositoryTest.java b/src/test/java/com/mangkyu/employment/interview/app/answer/repository/AnswerRepositoryTest.java index 99d0bc9..f077eb1 100644 --- a/src/test/java/com/mangkyu/employment/interview/app/answer/repository/AnswerRepositoryTest.java +++ b/src/test/java/com/mangkyu/employment/interview/app/answer/repository/AnswerRepositoryTest.java @@ -25,7 +25,7 @@ class AnswerRepositoryTest { private EntityManager entityManager; @Test - public void findOptionalByQuizId() { + void findOptionalByQuizId() { // given final Quiz quiz = EntityCreationUtils.quiz(); final Quiz savedQuiz = quizRepository.save(quiz); diff --git a/src/test/java/com/mangkyu/employment/interview/app/answer/service/AddAnswerServiceTest.java b/src/test/java/com/mangkyu/employment/interview/app/answer/service/AddAnswerServiceTest.java index 9a12cc7..d50697b 100644 --- a/src/test/java/com/mangkyu/employment/interview/app/answer/service/AddAnswerServiceTest.java +++ b/src/test/java/com/mangkyu/employment/interview/app/answer/service/AddAnswerServiceTest.java @@ -5,7 +5,6 @@ import com.mangkyu.employment.interview.app.answer.entity.Answer; import com.mangkyu.employment.interview.app.answer.repository.AnswerRepository; import com.mangkyu.employment.interview.app.quiz.entity.Quiz; import com.mangkyu.employment.interview.app.quiz.service.QuizService; -import com.mangkyu.employment.interview.erros.exception.RestApiException; import com.mangkyu.employment.interview.testutils.EntityCreationUtils; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -29,9 +28,9 @@ class AddAnswerServiceTest { private AnswerRepository answerRepository; @Test - void addAnswer_Success_Insert() throws RestApiException { + void addAnswer_Success_Insert() { // given - final AddAnswerRequest addAnswerRequest = AddAnswerRequest.builder() + final AddAnswerRequest request = AddAnswerRequest.builder() .quizResourceId(UUID.randomUUID().toString()) .description("desc") .build(); @@ -39,10 +38,10 @@ class AddAnswerServiceTest { doReturn(quiz) .when(quizService) - .findQuiz(addAnswerRequest.getQuizResourceId()); + .findQuiz(request.getQuizResourceId()); // when - answerService.add(addAnswerRequest); + answerService.add(request); // then verify(answerRepository, times(1)).save(any(Answer.class)); diff --git a/src/test/java/com/mangkyu/employment/interview/app/answer/service/DeleteAnswerServiceTest.java b/src/test/java/com/mangkyu/employment/interview/app/answer/service/DeleteAnswerServiceTest.java index b43c0fd..35aeb93 100644 --- a/src/test/java/com/mangkyu/employment/interview/app/answer/service/DeleteAnswerServiceTest.java +++ b/src/test/java/com/mangkyu/employment/interview/app/answer/service/DeleteAnswerServiceTest.java @@ -3,8 +3,6 @@ package com.mangkyu.employment.interview.app.answer.service; import com.mangkyu.employment.interview.app.answer.entity.Answer; import com.mangkyu.employment.interview.app.answer.repository.AnswerRepository; import com.mangkyu.employment.interview.app.quiz.entity.Quiz; -import com.mangkyu.employment.interview.erros.errorcode.CommonErrorCode; -import com.mangkyu.employment.interview.erros.exception.RestApiException; import com.mangkyu.employment.interview.testutils.EntityCreationUtils; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -12,11 +10,6 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import java.util.Optional; -import java.util.UUID; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.*; @ExtendWith(MockitoExtension.class) @@ -30,7 +23,7 @@ class DeleteAnswerServiceTest { private AnswerRepository answerRepository; @Test - void deleteAnswer_Success() throws RestApiException { + void deleteAnswer_Success() { // given final Quiz quiz = EntityCreationUtils.quiz(); final Answer answer = EntityCreationUtils.answer(quiz); diff --git a/src/test/java/com/mangkyu/employment/interview/app/answer/service/GetAnswerServiceTest.java b/src/test/java/com/mangkyu/employment/interview/app/answer/service/GetAnswerServiceTest.java index 3fbac35..7225a3d 100644 --- a/src/test/java/com/mangkyu/employment/interview/app/answer/service/GetAnswerServiceTest.java +++ b/src/test/java/com/mangkyu/employment/interview/app/answer/service/GetAnswerServiceTest.java @@ -32,7 +32,7 @@ class GetAnswerServiceTest { private AnswerRepository answerRepository; @Test - public void getAnswer_Fail_NotExists() { + void getAnswer_Fail_NotExists() { // given final String resourceId = UUID.randomUUID().toString(); @@ -50,7 +50,7 @@ class GetAnswerServiceTest { } @Test - public void getAnswer_Success() throws RestApiException { + void getAnswer_Success() { // given final Quiz quiz = EntityCreationUtils.quiz(); final Answer answer = EntityCreationUtils.answer(quiz); diff --git a/src/test/java/com/mangkyu/employment/interview/app/answer/service/UpdateAnswerServiceTest.java b/src/test/java/com/mangkyu/employment/interview/app/answer/service/UpdateAnswerServiceTest.java index 1ade457..648f0f8 100644 --- a/src/test/java/com/mangkyu/employment/interview/app/answer/service/UpdateAnswerServiceTest.java +++ b/src/test/java/com/mangkyu/employment/interview/app/answer/service/UpdateAnswerServiceTest.java @@ -30,7 +30,7 @@ class UpdateAnswerServiceTest { private AnswerRepository answerRepository; @Test - void updateAnswer_Success() throws RestApiException { + void updateAnswer_Success() { // given final AddAnswerRequest addAnswerRequest = AddAnswerRequest.builder() .quizResourceId(UUID.randomUUID().toString())