Merge branch 'master' into master-web
This commit is contained in:
@@ -2,6 +2,7 @@ package com.mangkyu.employment.interview.app.quiz.converter;
|
||||
|
||||
import com.mangkyu.employment.interview.app.quiz.dto.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.NoArgsConstructor;
|
||||
|
||||
@@ -16,7 +17,15 @@ public final class QuizDtoConverter {
|
||||
return GetQuizResponse.builder()
|
||||
.id(quiz.getId())
|
||||
.title(quiz.getTitle())
|
||||
.quizCategory(quiz.getQuizCategory())
|
||||
.quizLevelList(convert(quiz.getQuizLevel()))
|
||||
.createdAt(Timestamp.valueOf(quiz.getCreatedAt()).getTime())
|
||||
.build();
|
||||
}
|
||||
public static GetQuizResponse convert(final Quiz quiz, final EnumMapperValue enumMapperValue) {
|
||||
return GetQuizResponse.builder()
|
||||
.id(quiz.getId())
|
||||
.title(quiz.getTitle())
|
||||
.category(enumMapperValue)
|
||||
.quizLevelList(convert(quiz.getQuizLevel()))
|
||||
.createdAt(Timestamp.valueOf(quiz.getCreatedAt()).getTime())
|
||||
.build();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mangkyu.employment.interview.app.quiz.dto;
|
||||
|
||||
import com.mangkyu.employment.interview.enums.value.QuizCategory;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.mangkyu.employment.interview.enums.common.EnumMapperValue;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -14,7 +15,10 @@ public class GetQuizResponse {
|
||||
|
||||
private final long id;
|
||||
private final String title;
|
||||
private final QuizCategory quizCategory;
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
private final EnumMapperValue category;
|
||||
|
||||
private final List<String> quizLevelList;
|
||||
private final long createdAt;
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ public class QuizService {
|
||||
public GetQuizResponse getQuiz(final long id) {
|
||||
// TODO(MinKyu): Add Exception Handling
|
||||
final Quiz quiz = quizRepository.findById(id).get();
|
||||
return QuizDtoConverter.convert(quiz);
|
||||
return QuizDtoConverter.convert(quiz, enumMapperFactory.getElement(EnumMapperKey.QUIZ_CATEGORY, quiz.getQuizCategory()));
|
||||
}
|
||||
|
||||
public GetQuizResponseHolder getQuizList(final GetQuizRequest getQuizRequest) {
|
||||
|
||||
@@ -5,6 +5,8 @@ import com.mangkyu.employment.interview.app.quiz.constants.QuizConstants;
|
||||
import com.mangkyu.employment.interview.app.quiz.dto.*;
|
||||
import com.mangkyu.employment.interview.app.quiz.entity.Quiz;
|
||||
import com.mangkyu.employment.interview.app.quiz.service.QuizService;
|
||||
import com.mangkyu.employment.interview.enums.common.EnumMapperType;
|
||||
import com.mangkyu.employment.interview.enums.common.EnumMapperValue;
|
||||
import com.mangkyu.employment.interview.enums.value.QuizCategory;
|
||||
import com.mangkyu.employment.interview.enums.value.QuizLevel;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
@@ -58,7 +60,7 @@ class QuizControllerTest {
|
||||
final GetQuizResponse quizResponse = GetQuizResponse.builder()
|
||||
.title("quiz")
|
||||
.quizLevelList(Arrays.asList(QuizLevel.JUNIOR.name(), QuizLevel.SENIOR.name()))
|
||||
.quizCategory(QuizCategory.JAVA)
|
||||
.category(enumMapperValue(QuizCategory.JAVA))
|
||||
.build();
|
||||
doReturn(quizResponse).when(quizService).getQuiz(id);
|
||||
|
||||
@@ -74,8 +76,7 @@ class QuizControllerTest {
|
||||
|
||||
assertThat(getQuizResult.getId()).isEqualTo(quizResponse.getId());
|
||||
assertThat(getQuizResult.getTitle()).isEqualTo(quizResponse.getTitle());
|
||||
assertThat(getQuizResult.getQuizCategory()).isEqualTo(quizResponse.getQuizCategory());
|
||||
assertThat(getQuizResult.getQuizCategory()).isEqualTo(quizResponse.getQuizCategory());
|
||||
assertThat(getQuizResult.getCategory().getCode()).isEqualTo(quizResponse.getCategory().getCode());
|
||||
assertThat(getQuizResult.getCreatedAt()).isEqualTo(quizResponse.getCreatedAt());
|
||||
}
|
||||
|
||||
@@ -91,7 +92,7 @@ class QuizControllerTest {
|
||||
final GetQuizResponse quizResponse = GetQuizResponse.builder()
|
||||
.title("quiz")
|
||||
.quizLevelList(Arrays.asList(QuizLevel.JUNIOR.name(), QuizLevel.SENIOR.name()))
|
||||
.quizCategory(QuizCategory.JAVA)
|
||||
.category(enumMapperValue(QuizCategory.JAVA))
|
||||
.build();
|
||||
final GetQuizResponseHolder getQuizResponseHolder = GetQuizResponseHolder.builder()
|
||||
.quizList(Collections.singletonList(quizResponse))
|
||||
@@ -119,7 +120,7 @@ class QuizControllerTest {
|
||||
final GetQuizResponse quizResponse = GetQuizResponse.builder()
|
||||
.title("quiz")
|
||||
.quizLevelList(Arrays.asList(QuizLevel.JUNIOR.name(), QuizLevel.SENIOR.name()))
|
||||
.quizCategory(QuizCategory.JAVA)
|
||||
.category(enumMapperValue(QuizCategory.JAVA))
|
||||
.build();
|
||||
|
||||
final Pageable pageable = PageRequest.of(page, size);
|
||||
@@ -170,7 +171,7 @@ class QuizControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getQuizCategory() throws Exception {
|
||||
public void getCategory() throws Exception {
|
||||
// given
|
||||
final String url = "/quiz/categories";
|
||||
final long count = 15L;
|
||||
@@ -206,4 +207,12 @@ class QuizControllerTest {
|
||||
);
|
||||
}
|
||||
|
||||
private EnumMapperValue enumMapperValue(final EnumMapperType enumMapperType) {
|
||||
return EnumMapperValue.builder()
|
||||
.code(enumMapperType.name())
|
||||
.title(enumMapperType.getTitle())
|
||||
.desc(enumMapperType.getDesc())
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,6 +2,8 @@ package com.mangkyu.employment.interview.app.quiz.converter;
|
||||
|
||||
import com.mangkyu.employment.interview.app.quiz.dto.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.enums.value.QuizCategory;
|
||||
import com.mangkyu.employment.interview.enums.value.QuizLevel;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -15,6 +17,23 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
class QuizDtoConverterTest {
|
||||
|
||||
@Test
|
||||
public void convertQuizToGetQuizResponseWithCategory() {
|
||||
// given
|
||||
final long id = -1L;
|
||||
final Quiz quiz = quiz(id);
|
||||
|
||||
// when
|
||||
final GetQuizResponse result = QuizDtoConverter.convert(quiz, enumMapperValue(quiz.getQuizCategory()));
|
||||
|
||||
// then
|
||||
assertThat(result.getId()).isEqualTo(id);
|
||||
assertThat(result.getTitle()).isEqualTo(quiz.getTitle());
|
||||
assertThat(result.getQuizLevelList().size()).isEqualTo(quiz.getQuizLevel().size());
|
||||
assertThat(result.getCreatedAt()).isEqualTo(Timestamp.valueOf(quiz.getCreatedAt()).getTime());
|
||||
assertThat(result.getCategory().getCode()).isEqualTo(enumMapperValue(quiz.getQuizCategory()).getCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertQuizToGetQuizResponse() {
|
||||
// given
|
||||
@@ -27,9 +46,9 @@ class QuizDtoConverterTest {
|
||||
// then
|
||||
assertThat(result.getId()).isEqualTo(id);
|
||||
assertThat(result.getTitle()).isEqualTo(quiz.getTitle());
|
||||
assertThat(result.getQuizCategory()).isEqualTo(quiz.getQuizCategory());
|
||||
assertThat(result.getQuizLevelList().size()).isEqualTo(quiz.getQuizLevel().size());
|
||||
assertThat(result.getCreatedAt()).isEqualTo(Timestamp.valueOf(quiz.getCreatedAt()).getTime());
|
||||
assertThat(result.getCategory()).isNull();
|
||||
}
|
||||
|
||||
private Quiz quiz(final long id) {
|
||||
@@ -45,4 +64,11 @@ class QuizDtoConverterTest {
|
||||
return quiz;
|
||||
}
|
||||
|
||||
private EnumMapperValue enumMapperValue(final EnumMapperType enumMapperType) {
|
||||
return EnumMapperValue.builder()
|
||||
.code(enumMapperType.name())
|
||||
.title(enumMapperType.getTitle())
|
||||
.desc(enumMapperType.getDesc())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
@@ -74,7 +74,7 @@ class QuizServiceTest {
|
||||
// then
|
||||
assertThat(result.getId()).isEqualTo(id);
|
||||
assertThat(result.getTitle()).isEqualTo(quiz.getTitle());
|
||||
assertThat(result.getQuizCategory()).isEqualTo(quiz.getQuizCategory());
|
||||
assertThat(result.getCategory()).isEqualTo(enumMapperFactory.getElement(EnumMapperKey.QUIZ_CATEGORY, quiz.getQuizCategory()));
|
||||
assertThat(result.getQuizLevelList().size()).isEqualTo(quiz.getQuizLevel().size());
|
||||
assertThat(result.getCreatedAt()).isEqualTo(Timestamp.valueOf(quiz.getCreatedAt()).getTime());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user