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