Refactor etc...
This commit is contained in:
@@ -26,11 +26,7 @@ class GetQuizController {
|
|||||||
@GetMapping("/quizzes/{resourceId}")
|
@GetMapping("/quizzes/{resourceId}")
|
||||||
public ResponseEntity<GetQuizResponse> getQuiz(@PathVariable final String resourceId) {
|
public ResponseEntity<GetQuizResponse> getQuiz(@PathVariable final String resourceId) {
|
||||||
Quiz quiz = quizService.getQuiz(resourceId);
|
Quiz quiz = quizService.getQuiz(resourceId);
|
||||||
return ResponseEntity.ok(
|
return ResponseEntity.ok(QuizDtoConverter.convert(quiz));
|
||||||
QuizDtoConverter.convert(
|
|
||||||
quiz,
|
|
||||||
enumMapperFactory.getElement(EnumMapperKey.QUIZ_CATEGORY, quiz.getQuizCategory()))
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/quizzes")
|
@GetMapping("/quizzes")
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.mangkyu.employment.interview.app.answer.controller.GetAnswerResponse;
|
|||||||
import com.mangkyu.employment.interview.app.answer.entity.Answer;
|
import com.mangkyu.employment.interview.app.answer.entity.Answer;
|
||||||
import com.mangkyu.employment.interview.app.answer.service.GetAnswerService;
|
import com.mangkyu.employment.interview.app.answer.service.GetAnswerService;
|
||||||
import com.mangkyu.employment.interview.app.quiz.converter.QuizDtoConverter;
|
import com.mangkyu.employment.interview.app.quiz.converter.QuizDtoConverter;
|
||||||
|
import com.mangkyu.employment.interview.app.quiz.entity.Quiz;
|
||||||
import com.mangkyu.employment.interview.app.quiz.service.GetQuizService;
|
import com.mangkyu.employment.interview.app.quiz.service.GetQuizService;
|
||||||
import com.mangkyu.employment.interview.enums.common.EnumMapperKey;
|
import com.mangkyu.employment.interview.enums.common.EnumMapperKey;
|
||||||
import com.mangkyu.employment.interview.enums.factory.EnumMapperFactory;
|
import com.mangkyu.employment.interview.enums.factory.EnumMapperFactory;
|
||||||
@@ -19,13 +20,12 @@ import org.springframework.web.bind.annotation.PathVariable;
|
|||||||
class WebQuizController {
|
class WebQuizController {
|
||||||
|
|
||||||
private final GetQuizService quizService;
|
private final GetQuizService quizService;
|
||||||
private final EnumMapperFactory enumMapperFactory;
|
|
||||||
private final GetAnswerService answerService;
|
private final GetAnswerService answerService;
|
||||||
|
|
||||||
@GetMapping("/quizzes/editView/{resourceId}")
|
@GetMapping("/quizzes/editView/{resourceId}")
|
||||||
public String addUserPage(@PathVariable final String resourceId, final Model model) {
|
public String addUserPage(@PathVariable final String resourceId, final Model model) {
|
||||||
com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = quizService.getQuiz(resourceId);
|
Quiz quiz = quizService.getQuiz(resourceId);
|
||||||
final GetQuizResponse response = QuizDtoConverter.convert(quiz, enumMapperFactory.getElement(EnumMapperKey.QUIZ_CATEGORY, quiz.getQuizCategory()));
|
final GetQuizResponse response = QuizDtoConverter.convert(quiz);
|
||||||
model.addAttribute("quiz", response);
|
model.addAttribute("quiz", response);
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(response.getAnswerResourceId())) {
|
if (StringUtils.isNotBlank(response.getAnswerResourceId())) {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.mangkyu.employment.interview.app.answer.controller.AddAnswerRequest;
|
|||||||
import com.mangkyu.employment.interview.app.answer.controller.GetAnswerResponse;
|
import com.mangkyu.employment.interview.app.answer.controller.GetAnswerResponse;
|
||||||
import com.mangkyu.employment.interview.app.answer.entity.Answer;
|
import com.mangkyu.employment.interview.app.answer.entity.Answer;
|
||||||
import com.mangkyu.employment.interview.app.quiz.controller.GetQuizResponse;
|
import com.mangkyu.employment.interview.app.quiz.controller.GetQuizResponse;
|
||||||
|
import com.mangkyu.employment.interview.app.quiz.entity.Quiz;
|
||||||
import com.mangkyu.employment.interview.enums.common.EnumMapperValue;
|
import com.mangkyu.employment.interview.enums.common.EnumMapperValue;
|
||||||
import com.mangkyu.employment.interview.enums.value.QuizLevel;
|
import com.mangkyu.employment.interview.enums.value.QuizLevel;
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
@@ -25,19 +26,8 @@ public final class QuizDtoConverter {
|
|||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GetQuizResponse convert(final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz) {
|
|
||||||
return GetQuizResponse.builder()
|
|
||||||
.resourceId(quiz.getResourceId())
|
|
||||||
.answerResourceId(getAnswerResourceId(quiz))
|
|
||||||
.title(quiz.getTitle())
|
|
||||||
.category(quiz.getQuizCategory().getTitle())
|
|
||||||
.quizLevelList(convert(quiz.getQuizLevel()))
|
|
||||||
.createdAt(Timestamp.valueOf(quiz.getCreatedAt()).getTime())
|
|
||||||
.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static GetQuizResponse convert(final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz, final EnumMapperValue enumMapperValue) {
|
public static GetQuizResponse convert(final Quiz quiz) {
|
||||||
return GetQuizResponse.builder()
|
return GetQuizResponse.builder()
|
||||||
.resourceId(quiz.getResourceId())
|
.resourceId(quiz.getResourceId())
|
||||||
.answerResourceId(getAnswerResourceId(quiz))
|
.answerResourceId(getAnswerResourceId(quiz))
|
||||||
@@ -54,14 +44,14 @@ public final class QuizDtoConverter {
|
|||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Answer convert(final AddAnswerRequest addAnswerRequest, final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz) {
|
public static Answer convert(final AddAnswerRequest addAnswerRequest, final Quiz quiz) {
|
||||||
return Answer.builder()
|
return Answer.builder()
|
||||||
.resourceId(addAnswerRequest.getResourceId())
|
.resourceId(addAnswerRequest.getResourceId())
|
||||||
.quiz(quiz)
|
.quiz(quiz)
|
||||||
.description(addAnswerRequest.getDescription()).build();
|
.description(addAnswerRequest.getDescription()).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String getAnswerResourceId(final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz) {
|
private static String getAnswerResourceId(final Quiz quiz) {
|
||||||
return (quiz.getAnswer() == null)
|
return (quiz.getAnswer() == null)
|
||||||
? null
|
? null
|
||||||
: quiz.getAnswer().getResourceId();
|
: quiz.getAnswer().getResourceId();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.mangkyu.employment.interview.cron;
|
package com.mangkyu.employment.interview.system.cron;
|
||||||
|
|
||||||
import com.mangkyu.employment.interview.app.mail.service.SendMailService;
|
import com.mangkyu.employment.interview.app.mail.service.SendMailService;
|
||||||
import com.mangkyu.employment.interview.app.member.entity.Member;
|
import com.mangkyu.employment.interview.app.member.entity.Member;
|
||||||
@@ -4,6 +4,7 @@ import com.mangkyu.employment.interview.app.answer.controller.AddAnswerRequest;
|
|||||||
import com.mangkyu.employment.interview.app.answer.controller.GetAnswerResponse;
|
import com.mangkyu.employment.interview.app.answer.controller.GetAnswerResponse;
|
||||||
import com.mangkyu.employment.interview.app.answer.entity.Answer;
|
import com.mangkyu.employment.interview.app.answer.entity.Answer;
|
||||||
import com.mangkyu.employment.interview.app.quiz.controller.GetQuizResponse;
|
import com.mangkyu.employment.interview.app.quiz.controller.GetQuizResponse;
|
||||||
|
import com.mangkyu.employment.interview.app.quiz.entity.Quiz;
|
||||||
import com.mangkyu.employment.interview.enums.common.EnumMapperType;
|
import com.mangkyu.employment.interview.enums.common.EnumMapperType;
|
||||||
import com.mangkyu.employment.interview.enums.common.EnumMapperValue;
|
import com.mangkyu.employment.interview.enums.common.EnumMapperValue;
|
||||||
import com.mangkyu.employment.interview.testutils.EntityCreationUtils;
|
import com.mangkyu.employment.interview.testutils.EntityCreationUtils;
|
||||||
@@ -23,7 +24,7 @@ class QuizDtoConverterTest {
|
|||||||
.quizResourceId(UUID.randomUUID().toString())
|
.quizResourceId(UUID.randomUUID().toString())
|
||||||
.description("desc")
|
.description("desc")
|
||||||
.build();
|
.build();
|
||||||
final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = EntityCreationUtils.quiz();
|
final Quiz quiz = EntityCreationUtils.quiz();
|
||||||
|
|
||||||
// when
|
// when
|
||||||
final Answer result = QuizDtoConverter.convert(addAnswerRequest, quiz);
|
final Answer result = QuizDtoConverter.convert(addAnswerRequest, quiz);
|
||||||
@@ -36,7 +37,7 @@ class QuizDtoConverterTest {
|
|||||||
@Test
|
@Test
|
||||||
public void convertAnswerToGetAnswerResponse() {
|
public void convertAnswerToGetAnswerResponse() {
|
||||||
// given
|
// given
|
||||||
final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = EntityCreationUtils.quiz();
|
final Quiz quiz = EntityCreationUtils.quiz();
|
||||||
final Answer answer = EntityCreationUtils.answer(quiz);
|
final Answer answer = EntityCreationUtils.answer(quiz);
|
||||||
|
|
||||||
// when
|
// when
|
||||||
@@ -52,12 +53,12 @@ class QuizDtoConverterTest {
|
|||||||
@Test
|
@Test
|
||||||
public void convertQuizToGetQuizResponseWithCategory_AnswerExists() {
|
public void convertQuizToGetQuizResponseWithCategory_AnswerExists() {
|
||||||
// given
|
// given
|
||||||
final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = EntityCreationUtils.quiz();
|
final Quiz quiz = EntityCreationUtils.quiz();
|
||||||
final Answer answer = EntityCreationUtils.answer(quiz);
|
final Answer answer = EntityCreationUtils.answer(quiz);
|
||||||
quiz.setAnswer(answer);
|
quiz.setAnswer(answer);
|
||||||
|
|
||||||
// when
|
// when
|
||||||
final GetQuizResponse result = QuizDtoConverter.convert(quiz, enumMapperValue(quiz.getQuizCategory()));
|
final GetQuizResponse result = QuizDtoConverter.convert(quiz);
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertThat(result.getResourceId()).isEqualTo(quiz.getResourceId());
|
assertThat(result.getResourceId()).isEqualTo(quiz.getResourceId());
|
||||||
@@ -71,10 +72,10 @@ class QuizDtoConverterTest {
|
|||||||
@Test
|
@Test
|
||||||
public void convertQuizToGetQuizResponseWithCategory_NotAnswerExists() {
|
public void convertQuizToGetQuizResponseWithCategory_NotAnswerExists() {
|
||||||
// given
|
// given
|
||||||
final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = EntityCreationUtils.quiz();
|
final Quiz quiz = EntityCreationUtils.quiz();
|
||||||
|
|
||||||
// when
|
// when
|
||||||
final GetQuizResponse result = QuizDtoConverter.convert(quiz, enumMapperValue(quiz.getQuizCategory()));
|
final GetQuizResponse result = QuizDtoConverter.convert(quiz);
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertThat(result.getResourceId()).isEqualTo(quiz.getResourceId());
|
assertThat(result.getResourceId()).isEqualTo(quiz.getResourceId());
|
||||||
@@ -88,7 +89,7 @@ class QuizDtoConverterTest {
|
|||||||
@Test
|
@Test
|
||||||
public void convertQuizToGetQuizResponse_AnswerExists() {
|
public void convertQuizToGetQuizResponse_AnswerExists() {
|
||||||
// given
|
// given
|
||||||
final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = EntityCreationUtils.quiz();
|
final Quiz quiz = EntityCreationUtils.quiz();
|
||||||
final Answer answer = EntityCreationUtils.answer(quiz);
|
final Answer answer = EntityCreationUtils.answer(quiz);
|
||||||
quiz.setAnswer(answer);
|
quiz.setAnswer(answer);
|
||||||
|
|
||||||
@@ -107,7 +108,7 @@ class QuizDtoConverterTest {
|
|||||||
@Test
|
@Test
|
||||||
public void convertQuizToGetQuizResponse_AnswerNotExists() {
|
public void convertQuizToGetQuizResponse_AnswerNotExists() {
|
||||||
// given
|
// given
|
||||||
final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = EntityCreationUtils.quiz();
|
final Quiz quiz = EntityCreationUtils.quiz();
|
||||||
|
|
||||||
// when
|
// when
|
||||||
final GetQuizResponse result = QuizDtoConverter.convert(quiz);
|
final GetQuizResponse result = QuizDtoConverter.convert(quiz);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.mangkyu.employment.interview.cron;
|
package com.mangkyu.employment.interview.system.cron;
|
||||||
|
|
||||||
import com.mangkyu.employment.interview.app.mail.service.SendMailService;
|
import com.mangkyu.employment.interview.app.mail.service.SendMailService;
|
||||||
import com.mangkyu.employment.interview.app.member.entity.Member;
|
import com.mangkyu.employment.interview.app.member.entity.Member;
|
||||||
@@ -9,6 +9,7 @@ import com.mangkyu.employment.interview.app.quiz.service.GetQuizService;
|
|||||||
import com.mangkyu.employment.interview.app.solvedquiz.service.SolvedQuizService;
|
import com.mangkyu.employment.interview.app.solvedquiz.service.SolvedQuizService;
|
||||||
import com.mangkyu.employment.interview.enums.value.QuizDay;
|
import com.mangkyu.employment.interview.enums.value.QuizDay;
|
||||||
import com.mangkyu.employment.interview.enums.value.QuizLevel;
|
import com.mangkyu.employment.interview.enums.value.QuizLevel;
|
||||||
|
import com.mangkyu.employment.interview.system.cron.SendQuizCronJob;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
Reference in New Issue
Block a user