Merge branch 'master' into master-web
This commit is contained in:
@@ -15,28 +15,28 @@ public interface QuizRepository extends JpaRepository<Quiz, Long>, QuizRepositor
|
||||
|
||||
Optional<Quiz> findByResourceId(final String resourceId);
|
||||
|
||||
Page<Quiz> findByQuizCategoryIs(final QuizCategory quizCategory, final Pageable pageable);
|
||||
Page<Quiz> findByQuizCategoryIsAndIsEnableTrue(final QuizCategory quizCategory, final Pageable pageable);
|
||||
|
||||
Long countByQuizCategory(final QuizCategory category);
|
||||
Long countByQuizCategoryAndIsEnableTrue(final QuizCategory category);
|
||||
|
||||
default List<Quiz> customFindByIdNotInAndQuizLevel(final Set<Long> quizIdSet, final QuizLevel quizLevel) {
|
||||
default List<Quiz> customFindByIdNotInAndQuizLevelAndIsEnableTrue(final Set<Long> quizIdSet, final QuizLevel quizLevel) {
|
||||
return quizIdSet.isEmpty()
|
||||
? findByQuizLevel(quizLevel)
|
||||
: findByIdNotInAndQuizLevel(quizIdSet, quizLevel);
|
||||
? findByQuizLevelAndIsEnableTrue(quizLevel)
|
||||
: findByIdNotInAndQuizLevelAndIsEnableTrue(quizIdSet, quizLevel);
|
||||
}
|
||||
|
||||
List<Quiz> findByQuizLevel(final QuizLevel quizLevel);
|
||||
List<Quiz> findByQuizLevelAndIsEnableTrue(final QuizLevel quizLevel);
|
||||
|
||||
List<Quiz> findByIdNotInAndQuizLevel(final Set<Long> quizIdSet, final QuizLevel quizLevel);
|
||||
List<Quiz> findByIdNotInAndQuizLevelAndIsEnableTrue(final Set<Long> quizIdSet, final QuizLevel quizLevel);
|
||||
|
||||
default List<Quiz> customFindByIdNotInAndQuizCategoryInAndQuizLevel(final Set<Long> quizIdSet, final Set<QuizCategory> quizCategorySet, final QuizLevel quizLevel) {
|
||||
default List<Quiz> customFindByIdNotInAndQuizCategoryInAndQuizLevelAndIsEnableTrue(final Set<Long> quizIdSet, final Set<QuizCategory> quizCategorySet, final QuizLevel quizLevel) {
|
||||
return quizIdSet.isEmpty()
|
||||
? findByQuizCategoryInAndQuizLevel(quizCategorySet, quizLevel)
|
||||
: findByIdNotInAndQuizCategoryInAndQuizLevel(quizIdSet, quizCategorySet, quizLevel);
|
||||
? findByQuizCategoryInAndQuizLevelAndIsEnableTrue(quizCategorySet, quizLevel)
|
||||
: findByIdNotInAndQuizCategoryInAndQuizLevelAndIsEnableTrue(quizIdSet, quizCategorySet, quizLevel);
|
||||
}
|
||||
|
||||
List<Quiz> findByQuizCategoryInAndQuizLevel(final Set<QuizCategory> quizCategorySet, final QuizLevel quizLevel);
|
||||
List<Quiz> findByQuizCategoryInAndQuizLevelAndIsEnableTrue(final Set<QuizCategory> quizCategorySet, final QuizLevel quizLevel);
|
||||
|
||||
List<Quiz> findByIdNotInAndQuizCategoryInAndQuizLevel(final Set<Long> quizIdSet, final Set<QuizCategory> quizCategorySet, final QuizLevel quizLevel);
|
||||
List<Quiz> findByIdNotInAndQuizCategoryInAndQuizLevelAndIsEnableTrue(final Set<Long> quizIdSet, final Set<QuizCategory> quizCategorySet, final QuizLevel quizLevel);
|
||||
|
||||
}
|
||||
@@ -53,7 +53,7 @@ public class QuizService {
|
||||
|
||||
public GetQuizResponseHolder getQuizList(final GetQuizRequest getQuizRequest) {
|
||||
final PageRequest pageRequest = PageRequest.of(getQuizRequest.getPage(), getQuizRequest.getSize());
|
||||
final Page<Quiz> quizPage = quizRepository.findByQuizCategoryIs(getQuizRequest.getCategory(), pageRequest);
|
||||
final Page<Quiz> quizPage = quizRepository.findByQuizCategoryIsAndIsEnableTrue(getQuizRequest.getCategory(), pageRequest);
|
||||
|
||||
final List<GetQuizResponse> quizResponseList = quizPage.getContent().stream()
|
||||
.map(QuizDtoConverter::convert)
|
||||
@@ -75,7 +75,7 @@ public class QuizService {
|
||||
.map(v -> v.getQuiz().getId())
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
return quizRepository.customFindByIdNotInAndQuizCategoryInAndQuizLevel(solvedQuizIdList, quizCategorySet, quizLevel);
|
||||
return quizRepository.customFindByIdNotInAndQuizCategoryInAndQuizLevelAndIsEnableTrue(solvedQuizIdList, quizCategorySet, quizLevel);
|
||||
}
|
||||
|
||||
public List<Quiz> getRandomQuizListUnderLimit(final List<Quiz> quizList, final Integer quizSize) {
|
||||
@@ -107,7 +107,7 @@ public class QuizService {
|
||||
|
||||
private QuizCategoryResponse convertToQuizCategoryResponse(final EnumMapperValue enumMapperValue) {
|
||||
return QuizCategoryResponse.builder()
|
||||
.count(quizRepository.countByQuizCategory(QuizCategory.valueOf(enumMapperValue.name())))
|
||||
.count(quizRepository.countByQuizCategoryAndIsEnableTrue(QuizCategory.valueOf(enumMapperValue.name())))
|
||||
.code(enumMapperValue.getCode())
|
||||
.title(enumMapperValue.getTitle())
|
||||
.desc(enumMapperValue.getDesc())
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.mangkyu.employment.interview.app.quiz.repository;
|
||||
|
||||
import com.mangkyu.employment.interview.JpaTestConfig;
|
||||
import com.mangkyu.employment.interview.app.answer.entity.Answer;
|
||||
import com.mangkyu.employment.interview.app.answer.repository.AnswerRepository;
|
||||
import com.mangkyu.employment.interview.app.quiz.dto.QuizSearchCondition;
|
||||
import com.mangkyu.employment.interview.app.quiz.entity.Quiz;
|
||||
@@ -209,14 +208,14 @@ class QuizRepositoryTest {
|
||||
long result = 0;
|
||||
while (hasNext) {
|
||||
final PageRequest pageRequest = PageRequest.of(page++, size);
|
||||
final Page<Quiz> pageQuiz = quizRepository.findByQuizCategoryIs(quizCategory, pageRequest);
|
||||
final Page<Quiz> pageQuiz = quizRepository.findByQuizCategoryIsAndIsEnableTrue(quizCategory, pageRequest);
|
||||
|
||||
result += pageQuiz.getContent().size();
|
||||
hasNext = pageQuiz.hasNext();
|
||||
}
|
||||
|
||||
// then
|
||||
assertThat(result).isEqualTo(quizRepository.countByQuizCategory(quizCategory));
|
||||
assertThat(result).isEqualTo(quizRepository.countByQuizCategoryAndIsEnableTrue(quizCategory));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -233,8 +232,8 @@ class QuizRepositoryTest {
|
||||
quizRepository.save(quiz4);
|
||||
|
||||
// when
|
||||
final Long result1 = quizRepository.countByQuizCategory(QuizCategory.JAVA);
|
||||
final Long result2 = quizRepository.countByQuizCategory(QuizCategory.DATABASE);
|
||||
final Long result1 = quizRepository.countByQuizCategoryAndIsEnableTrue(QuizCategory.JAVA);
|
||||
final Long result2 = quizRepository.countByQuizCategoryAndIsEnableTrue(QuizCategory.DATABASE);
|
||||
|
||||
// then
|
||||
assertThat(result1).isEqualTo(3);
|
||||
@@ -270,10 +269,10 @@ class QuizRepositoryTest {
|
||||
final Set<Long> idSet = new HashSet<>(Arrays.asList(savedQuiz1.getId(), savedQuiz2.getId(), savedQuiz3.getId(), savedQuiz4.getId()));
|
||||
|
||||
// when
|
||||
final List<Quiz> unsolvedQuizList1 = quizRepository.customFindByIdNotInAndQuizCategoryInAndQuizLevel(Collections.emptySet(), new HashSet<>(Arrays.asList(QuizCategory.JAVA, QuizCategory.ALGORITHM, QuizCategory.CULTURE)), QuizLevel.NEW);
|
||||
final List<Quiz> unsolvedQuizList2 = quizRepository.customFindByIdNotInAndQuizCategoryInAndQuizLevel(Collections.emptySet(), new HashSet<>(Arrays.asList(QuizCategory.CULTURE, QuizCategory.NETWORK)), QuizLevel.NEW);
|
||||
final List<Quiz> unsolvedQuizList3 = quizRepository.customFindByIdNotInAndQuizCategoryInAndQuizLevel(Collections.emptySet(), new HashSet<>(Arrays.asList(QuizCategory.JAVA, QuizCategory.ALGORITHM, QuizCategory.DATABASE)), QuizLevel.NEW);
|
||||
final List<Quiz> unsolvedQuizList4 = quizRepository.customFindByIdNotInAndQuizCategoryInAndQuizLevel(idSet, new HashSet<>(Arrays.asList(QuizCategory.JAVA, QuizCategory.DATABASE)), QuizLevel.NEW);
|
||||
final List<Quiz> unsolvedQuizList1 = quizRepository.customFindByIdNotInAndQuizCategoryInAndQuizLevelAndIsEnableTrue(Collections.emptySet(), new HashSet<>(Arrays.asList(QuizCategory.JAVA, QuizCategory.ALGORITHM, QuizCategory.CULTURE)), QuizLevel.NEW);
|
||||
final List<Quiz> unsolvedQuizList2 = quizRepository.customFindByIdNotInAndQuizCategoryInAndQuizLevelAndIsEnableTrue(Collections.emptySet(), new HashSet<>(Arrays.asList(QuizCategory.CULTURE, QuizCategory.NETWORK)), QuizLevel.NEW);
|
||||
final List<Quiz> unsolvedQuizList3 = quizRepository.customFindByIdNotInAndQuizCategoryInAndQuizLevelAndIsEnableTrue(Collections.emptySet(), new HashSet<>(Arrays.asList(QuizCategory.JAVA, QuizCategory.ALGORITHM, QuizCategory.DATABASE)), QuizLevel.NEW);
|
||||
final List<Quiz> unsolvedQuizList4 = quizRepository.customFindByIdNotInAndQuizCategoryInAndQuizLevelAndIsEnableTrue(idSet, new HashSet<>(Arrays.asList(QuizCategory.JAVA, QuizCategory.DATABASE)), QuizLevel.NEW);
|
||||
|
||||
// then
|
||||
assertThat(unsolvedQuizList1.size()).isEqualTo(2);
|
||||
@@ -296,8 +295,8 @@ class QuizRepositoryTest {
|
||||
final Quiz savedQuiz4 = quizRepository.save(quiz4);
|
||||
|
||||
// when
|
||||
final List<Quiz> unsolvedQuizList1 = quizRepository.customFindByIdNotInAndQuizLevel(new HashSet<>(Arrays.asList(savedQuiz1.getId(), savedQuiz2.getId())), QuizLevel.NEW);
|
||||
final List<Quiz> unsolvedQuizList2 = quizRepository.customFindByIdNotInAndQuizLevel(Collections.emptySet(), QuizLevel.NEW);
|
||||
final List<Quiz> unsolvedQuizList1 = quizRepository.customFindByIdNotInAndQuizLevelAndIsEnableTrue(new HashSet<>(Arrays.asList(savedQuiz1.getId(), savedQuiz2.getId())), QuizLevel.NEW);
|
||||
final List<Quiz> unsolvedQuizList2 = quizRepository.customFindByIdNotInAndQuizLevelAndIsEnableTrue(Collections.emptySet(), QuizLevel.NEW);
|
||||
|
||||
// then
|
||||
assertThat(unsolvedQuizList1.size()).isEqualTo(1);
|
||||
@@ -318,7 +317,7 @@ class QuizRepositoryTest {
|
||||
quizRepository.save(quiz4);
|
||||
|
||||
// when
|
||||
final List<Quiz> unsolvedQuizList = quizRepository.findByQuizLevel(QuizLevel.NEW);
|
||||
final List<Quiz> unsolvedQuizList = quizRepository.findByQuizLevelAndIsEnableTrue(QuizLevel.NEW);
|
||||
|
||||
// then
|
||||
assertThat(unsolvedQuizList.size()).isEqualTo(3);
|
||||
|
||||
@@ -159,7 +159,7 @@ class QuizServiceTest {
|
||||
final Pageable pageable = PageRequest.of(page, size);
|
||||
|
||||
final PageImpl<Quiz> quizPage = new PageImpl<>(quizList(), pageable, quizList.size());
|
||||
doReturn(quizPage).when(quizRepository).findByQuizCategoryIs(any(QuizCategory.class), any(PageRequest.class));
|
||||
doReturn(quizPage).when(quizRepository).findByQuizCategoryIsAndIsEnableTrue(any(QuizCategory.class), any(PageRequest.class));
|
||||
|
||||
// when
|
||||
final GetQuizResponseHolder result = quizService.getQuizList(request);
|
||||
@@ -203,7 +203,7 @@ class QuizServiceTest {
|
||||
quizCategorySet.add(QuizCategory.EXPERIENCE);
|
||||
|
||||
doReturn(solvedQuizList).when(solvedQuizRepository).findAllByUser_Id(userId);
|
||||
doReturn(unsolvedQuizList).when(quizRepository).customFindByIdNotInAndQuizCategoryInAndQuizLevel(solvedQuizIdList, quizCategorySet, quizLevel);
|
||||
doReturn(unsolvedQuizList).when(quizRepository).customFindByIdNotInAndQuizCategoryInAndQuizLevelAndIsEnableTrue(solvedQuizIdList, quizCategorySet, quizLevel);
|
||||
|
||||
// when
|
||||
final List<Quiz> result = quizService.getUnsolvedQuizList(userId, quizLevel, quizCategorySet);
|
||||
@@ -224,7 +224,7 @@ class QuizServiceTest {
|
||||
quizCategorySet.add(QuizCategory.EXPERIENCE);
|
||||
|
||||
doReturn(solvedQuizList).when(solvedQuizRepository).findAllByUser_Id(userId);
|
||||
doReturn(unsolvedQuizList).when(quizRepository).customFindByIdNotInAndQuizCategoryInAndQuizLevel(Collections.emptySet(), quizCategorySet, quizLevel);
|
||||
doReturn(unsolvedQuizList).when(quizRepository).customFindByIdNotInAndQuizCategoryInAndQuizLevelAndIsEnableTrue(Collections.emptySet(), quizCategorySet, quizLevel);
|
||||
|
||||
// when
|
||||
final List<Quiz> result = quizService.getUnsolvedQuizList(userId, quizLevel, quizCategorySet);
|
||||
@@ -270,7 +270,7 @@ class QuizServiceTest {
|
||||
.build();
|
||||
|
||||
doReturn(Collections.singletonList(enumMapperValue)).when(enumMapperFactory).get(EnumMapperKey.QUIZ_CATEGORY);
|
||||
doReturn(count).when(quizRepository).countByQuizCategory(quizCategory);
|
||||
doReturn(count).when(quizRepository).countByQuizCategoryAndIsEnableTrue(quizCategory);
|
||||
|
||||
// when
|
||||
final List<QuizCategoryResponse> result = quizService.getQuizCategoryList();
|
||||
|
||||
Reference in New Issue
Block a user