Refactor etc...

This commit is contained in:
MangKyu
2023-02-18 23:17:45 +09:00
parent 7d8e1c1f49
commit 32f573d7b9
6 changed files with 20 additions and 32 deletions

View File

@@ -26,11 +26,7 @@ class GetQuizController {
@GetMapping("/quizzes/{resourceId}")
public ResponseEntity<GetQuizResponse> getQuiz(@PathVariable final String resourceId) {
Quiz quiz = quizService.getQuiz(resourceId);
return ResponseEntity.ok(
QuizDtoConverter.convert(
quiz,
enumMapperFactory.getElement(EnumMapperKey.QUIZ_CATEGORY, quiz.getQuizCategory()))
);
return ResponseEntity.ok(QuizDtoConverter.convert(quiz));
}
@GetMapping("/quizzes")

View File

@@ -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.service.GetAnswerService;
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.enums.common.EnumMapperKey;
import com.mangkyu.employment.interview.enums.factory.EnumMapperFactory;
@@ -19,13 +20,12 @@ import org.springframework.web.bind.annotation.PathVariable;
class WebQuizController {
private final GetQuizService quizService;
private final EnumMapperFactory enumMapperFactory;
private final GetAnswerService answerService;
@GetMapping("/quizzes/editView/{resourceId}")
public String addUserPage(@PathVariable final String resourceId, final Model model) {
com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = quizService.getQuiz(resourceId);
final GetQuizResponse response = QuizDtoConverter.convert(quiz, enumMapperFactory.getElement(EnumMapperKey.QUIZ_CATEGORY, quiz.getQuizCategory()));
Quiz quiz = quizService.getQuiz(resourceId);
final GetQuizResponse response = QuizDtoConverter.convert(quiz);
model.addAttribute("quiz", response);
if (StringUtils.isNotBlank(response.getAnswerResourceId())) {

View File

@@ -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.entity.Answer;
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.value.QuizLevel;
import lombok.AccessLevel;
@@ -25,19 +26,8 @@ public final class QuizDtoConverter {
.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
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()
.resourceId(quiz.getResourceId())
.answerResourceId(getAnswerResourceId(quiz))
@@ -54,14 +44,14 @@ public final class QuizDtoConverter {
.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()
.resourceId(addAnswerRequest.getResourceId())
.quiz(quiz)
.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)
? null
: quiz.getAnswer().getResourceId();

View File

@@ -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.member.entity.Member;

View File

@@ -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.entity.Answer;
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.EnumMapperValue;
import com.mangkyu.employment.interview.testutils.EntityCreationUtils;
@@ -23,7 +24,7 @@ class QuizDtoConverterTest {
.quizResourceId(UUID.randomUUID().toString())
.description("desc")
.build();
final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = EntityCreationUtils.quiz();
final Quiz quiz = EntityCreationUtils.quiz();
// when
final Answer result = QuizDtoConverter.convert(addAnswerRequest, quiz);
@@ -36,7 +37,7 @@ class QuizDtoConverterTest {
@Test
public void convertAnswerToGetAnswerResponse() {
// given
final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = EntityCreationUtils.quiz();
final Quiz quiz = EntityCreationUtils.quiz();
final Answer answer = EntityCreationUtils.answer(quiz);
// when
@@ -52,12 +53,12 @@ class QuizDtoConverterTest {
@Test
public void convertQuizToGetQuizResponseWithCategory_AnswerExists() {
// given
final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = EntityCreationUtils.quiz();
final Quiz quiz = EntityCreationUtils.quiz();
final Answer answer = EntityCreationUtils.answer(quiz);
quiz.setAnswer(answer);
// when
final GetQuizResponse result = QuizDtoConverter.convert(quiz, enumMapperValue(quiz.getQuizCategory()));
final GetQuizResponse result = QuizDtoConverter.convert(quiz);
// then
assertThat(result.getResourceId()).isEqualTo(quiz.getResourceId());
@@ -71,10 +72,10 @@ class QuizDtoConverterTest {
@Test
public void convertQuizToGetQuizResponseWithCategory_NotAnswerExists() {
// given
final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = EntityCreationUtils.quiz();
final Quiz quiz = EntityCreationUtils.quiz();
// when
final GetQuizResponse result = QuizDtoConverter.convert(quiz, enumMapperValue(quiz.getQuizCategory()));
final GetQuizResponse result = QuizDtoConverter.convert(quiz);
// then
assertThat(result.getResourceId()).isEqualTo(quiz.getResourceId());
@@ -88,7 +89,7 @@ class QuizDtoConverterTest {
@Test
public void convertQuizToGetQuizResponse_AnswerExists() {
// given
final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = EntityCreationUtils.quiz();
final Quiz quiz = EntityCreationUtils.quiz();
final Answer answer = EntityCreationUtils.answer(quiz);
quiz.setAnswer(answer);
@@ -107,7 +108,7 @@ class QuizDtoConverterTest {
@Test
public void convertQuizToGetQuizResponse_AnswerNotExists() {
// given
final com.mangkyu.employment.interview.app.quiz.entity.Quiz quiz = EntityCreationUtils.quiz();
final Quiz quiz = EntityCreationUtils.quiz();
// when
final GetQuizResponse result = QuizDtoConverter.convert(quiz);

View File

@@ -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.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.enums.value.QuizDay;
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.Test;
import org.junit.jupiter.api.extension.ExtendWith;