Filter searchQuiz which has answer only
This commit is contained in:
@@ -35,12 +35,14 @@ public class QuizRepositoryImpl implements QuizRepositoryCustom {
|
|||||||
.where(quizLevelsIn(qQuiz, condition.getLevels()))
|
.where(quizLevelsIn(qQuiz, condition.getLevels()))
|
||||||
.offset(pageable.getOffset())
|
.offset(pageable.getOffset())
|
||||||
.limit(pageable.getPageSize())
|
.limit(pageable.getPageSize())
|
||||||
|
.where(qQuiz.answer.isNotNull())
|
||||||
.fetch();
|
.fetch();
|
||||||
|
|
||||||
final long count = query.selectFrom(qQuiz)
|
final long count = query.selectFrom(qQuiz)
|
||||||
.where(titleLike(qQuiz, condition.getQuery()))
|
.where(titleLike(qQuiz, condition.getQuery()))
|
||||||
.where(quizCategoriesIn(qQuiz, condition.getCategories()))
|
.where(quizCategoriesIn(qQuiz, condition.getCategories()))
|
||||||
.where(quizLevelsIn(qQuiz, condition.getLevels()))
|
.where(quizLevelsIn(qQuiz, condition.getLevels()))
|
||||||
|
.where(qQuiz.answer.isNotNull())
|
||||||
.stream().count();
|
.stream().count();
|
||||||
|
|
||||||
return new PageImpl<>(quizList, pageable, count);
|
return new PageImpl<>(quizList, pageable, count);
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.mangkyu.employment.interview.app.quiz.repository;
|
package com.mangkyu.employment.interview.app.quiz.repository;
|
||||||
|
|
||||||
import com.mangkyu.employment.interview.JpaTestConfig;
|
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.dto.QuizSearchCondition;
|
||||||
import com.mangkyu.employment.interview.app.quiz.entity.Quiz;
|
import com.mangkyu.employment.interview.app.quiz.entity.Quiz;
|
||||||
import com.mangkyu.employment.interview.enums.value.QuizCategory;
|
import com.mangkyu.employment.interview.enums.value.QuizCategory;
|
||||||
@@ -25,6 +27,8 @@ class QuizRepositoryTest {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private QuizRepository quizRepository;
|
private QuizRepository quizRepository;
|
||||||
|
@Autowired
|
||||||
|
private AnswerRepository answerRepository;
|
||||||
|
|
||||||
@ParameterizedTest
|
@ParameterizedTest
|
||||||
@MethodSource("validQuizParameters")
|
@MethodSource("validQuizParameters")
|
||||||
@@ -321,14 +325,23 @@ class QuizRepositoryTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initForPaging(final QuizCategory quizCategory) {
|
private void initForPaging(final QuizCategory quizCategory) {
|
||||||
quizRepository.save(EntityCreationUtils.quiz("quiz", quizCategory, Arrays.asList(QuizLevel.JUNIOR, QuizLevel.SENIOR)));
|
final Quiz savedQuiz1 = quizRepository.save(EntityCreationUtils.quiz("quiz", quizCategory, Arrays.asList(QuizLevel.JUNIOR, QuizLevel.SENIOR)));
|
||||||
quizRepository.save(EntityCreationUtils.quiz("quiz", quizCategory, Arrays.asList(QuizLevel.JUNIOR, QuizLevel.SENIOR)));
|
final Quiz savedQuiz2 = quizRepository.save(EntityCreationUtils.quiz("quiz", quizCategory, Arrays.asList(QuizLevel.JUNIOR, QuizLevel.SENIOR)));
|
||||||
quizRepository.save(EntityCreationUtils.quiz("quiz", quizCategory, Arrays.asList(QuizLevel.JUNIOR, QuizLevel.SENIOR)));
|
final Quiz savedQuiz3 = quizRepository.save(EntityCreationUtils.quiz("quiz", quizCategory, Arrays.asList(QuizLevel.JUNIOR, QuizLevel.SENIOR)));
|
||||||
quizRepository.save(EntityCreationUtils.quiz("quiz", quizCategory, Arrays.asList(QuizLevel.JUNIOR, QuizLevel.SENIOR)));
|
final Quiz savedQuiz4 = quizRepository.save(EntityCreationUtils.quiz("quiz", quizCategory, Arrays.asList(QuizLevel.JUNIOR, QuizLevel.SENIOR)));
|
||||||
quizRepository.save(EntityCreationUtils.quiz("quiz", quizCategory, Arrays.asList(QuizLevel.JUNIOR, QuizLevel.SENIOR)));
|
final Quiz savedQuiz5 = quizRepository.save(EntityCreationUtils.quiz("quiz", quizCategory, Arrays.asList(QuizLevel.JUNIOR, QuizLevel.SENIOR)));
|
||||||
quizRepository.save(EntityCreationUtils.quiz("quiz", quizCategory, Arrays.asList(QuizLevel.JUNIOR, QuizLevel.SENIOR)));
|
final Quiz savedQuiz6 = quizRepository.save(EntityCreationUtils.quiz("quiz", quizCategory, Arrays.asList(QuizLevel.JUNIOR, QuizLevel.SENIOR)));
|
||||||
quizRepository.save(EntityCreationUtils.quiz("quiz", QuizCategory.ALGORITHM, Collections.singletonList(QuizLevel.SENIOR)));
|
final Quiz savedQuiz7 = quizRepository.save(EntityCreationUtils.quiz("quiz", QuizCategory.ALGORITHM, Collections.singletonList(QuizLevel.SENIOR)));
|
||||||
quizRepository.save(EntityCreationUtils.quiz("quiz", QuizCategory.DATABASE, Collections.singletonList(QuizLevel.SENIOR)));
|
final Quiz savedQuiz8 = quizRepository.save(EntityCreationUtils.quiz("quiz", QuizCategory.DATABASE, Collections.singletonList(QuizLevel.SENIOR)));
|
||||||
|
|
||||||
|
savedQuiz1.setAnswer(answerRepository.save(EntityCreationUtils.answer(savedQuiz1)));
|
||||||
|
savedQuiz2.setAnswer(answerRepository.save(EntityCreationUtils.answer(savedQuiz2)));
|
||||||
|
savedQuiz3.setAnswer(answerRepository.save(EntityCreationUtils.answer(savedQuiz3)));
|
||||||
|
savedQuiz4.setAnswer(answerRepository.save(EntityCreationUtils.answer(savedQuiz4)));
|
||||||
|
savedQuiz5.setAnswer(answerRepository.save(EntityCreationUtils.answer(savedQuiz5)));
|
||||||
|
savedQuiz6.setAnswer(answerRepository.save(EntityCreationUtils.answer(savedQuiz6)));
|
||||||
|
savedQuiz7.setAnswer(answerRepository.save(EntityCreationUtils.answer(savedQuiz7)));
|
||||||
|
savedQuiz8.setAnswer(answerRepository.save(EntityCreationUtils.answer(savedQuiz8)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Stream<Arguments> validQuizParameters() {
|
private static Stream<Arguments> validQuizParameters() {
|
||||||
|
|||||||
Reference in New Issue
Block a user