Refactor all answer test
This commit is contained in:
@@ -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)
|
||||
);
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user