From 4a12e37afc1ee7e07a17c224070ac80b3304e86d Mon Sep 17 00:00:00 2001 From: MangKyu Date: Sun, 20 Feb 2022 22:40:19 +0900 Subject: [PATCH] Add SolvedQuizDtoConverter --- .../converter/SolvedQuizDtoConverter.java | 18 +++++++++++++ .../solvedquiz/service/SolvedQuizService.java | 9 ++----- .../converter/SolvedQuizDtoConverterTest.java | 27 +++++++++++++++++++ 3 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/mangkyu/employment/interview/app/solvedquiz/converter/SolvedQuizDtoConverter.java create mode 100644 src/test/java/com/mangkyu/employment/interview/app/solvedquiz/converter/SolvedQuizDtoConverterTest.java diff --git a/src/main/java/com/mangkyu/employment/interview/app/solvedquiz/converter/SolvedQuizDtoConverter.java b/src/main/java/com/mangkyu/employment/interview/app/solvedquiz/converter/SolvedQuizDtoConverter.java new file mode 100644 index 0000000..5c43855 --- /dev/null +++ b/src/main/java/com/mangkyu/employment/interview/app/solvedquiz/converter/SolvedQuizDtoConverter.java @@ -0,0 +1,18 @@ +package com.mangkyu.employment.interview.app.solvedquiz.converter; + +import com.mangkyu.employment.interview.app.member.entity.Member; +import com.mangkyu.employment.interview.app.quiz.entity.Quiz; +import com.mangkyu.employment.interview.app.solvedquiz.entity.SolvedQuiz; +import lombok.AccessLevel; +import lombok.NoArgsConstructor; + +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public final class SolvedQuizDtoConverter { + + public static SolvedQuiz convert(final Member member, final Quiz quiz) { + return SolvedQuiz.builder() + .member(member) + .quiz(quiz).build(); + } + +} \ No newline at end of file diff --git a/src/main/java/com/mangkyu/employment/interview/app/solvedquiz/service/SolvedQuizService.java b/src/main/java/com/mangkyu/employment/interview/app/solvedquiz/service/SolvedQuizService.java index 4c0a698..7db88ec 100644 --- a/src/main/java/com/mangkyu/employment/interview/app/solvedquiz/service/SolvedQuizService.java +++ b/src/main/java/com/mangkyu/employment/interview/app/solvedquiz/service/SolvedQuizService.java @@ -2,6 +2,7 @@ package com.mangkyu.employment.interview.app.solvedquiz.service; import com.mangkyu.employment.interview.app.member.entity.Member; import com.mangkyu.employment.interview.app.quiz.entity.Quiz; +import com.mangkyu.employment.interview.app.solvedquiz.converter.SolvedQuizDtoConverter; import com.mangkyu.employment.interview.app.solvedquiz.entity.SolvedQuiz; import com.mangkyu.employment.interview.app.solvedquiz.repository.SolvedQuizRepository; import lombok.RequiredArgsConstructor; @@ -22,16 +23,10 @@ public class SolvedQuizService { @Transactional public void addSolvedQuizList(final Member member, final List quizList) { final List solvedQuizList = quizList.stream() - .map(quiz -> createSolvedQuizEntity(member, quiz)) + .map(quiz -> SolvedQuizDtoConverter.convert(member, quiz)) .collect(Collectors.toList()); solvedQuizRepository.saveAll(solvedQuizList); } - private SolvedQuiz createSolvedQuizEntity(final Member member, final Quiz quiz) { - return SolvedQuiz.builder() - .member(member) - .quiz(quiz).build(); - } - } diff --git a/src/test/java/com/mangkyu/employment/interview/app/solvedquiz/converter/SolvedQuizDtoConverterTest.java b/src/test/java/com/mangkyu/employment/interview/app/solvedquiz/converter/SolvedQuizDtoConverterTest.java new file mode 100644 index 0000000..96e3e11 --- /dev/null +++ b/src/test/java/com/mangkyu/employment/interview/app/solvedquiz/converter/SolvedQuizDtoConverterTest.java @@ -0,0 +1,27 @@ +package com.mangkyu.employment.interview.app.solvedquiz.converter; + +import com.mangkyu.employment.interview.app.member.entity.Member; +import com.mangkyu.employment.interview.app.quiz.entity.Quiz; +import com.mangkyu.employment.interview.app.solvedquiz.entity.SolvedQuiz; +import com.mangkyu.employment.interview.testutils.EntityCreationUtils; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class SolvedQuizDtoConverterTest { + + @Test + public void convertMemberAndQuizToSolvedQuizEntity() { + // given + final Member member = EntityCreationUtils.member(); + final Quiz quiz = EntityCreationUtils.quiz(); + + // when + final SolvedQuiz result = SolvedQuizDtoConverter.convert(member, quiz); + + // then + assertThat(result.getMember()).isEqualTo(member); + assertThat(result.getQuiz()).isEqualTo(quiz); + } + +} \ No newline at end of file