Add SolvedQuizDtoConverter

This commit is contained in:
MangKyu
2022-02-20 22:40:19 +09:00
parent 4de56e8962
commit 4a12e37afc
3 changed files with 47 additions and 7 deletions

View File

@@ -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();
}
}

View File

@@ -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<Quiz> quizList) {
final List<SolvedQuiz> 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();
}
}

View File

@@ -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);
}
}