Apply QuizSize on CronJob
This commit is contained in:
@@ -27,8 +27,10 @@ public class User extends BaseEntity {
|
||||
@Enumerated(EnumType.STRING)
|
||||
private QuizLevel quizLevel;
|
||||
|
||||
@Builder.Default
|
||||
private Integer quizSize = DEFAULT_QUIZ_SIZE;
|
||||
|
||||
@Builder.Default
|
||||
@OneToMany(mappedBy = "user")
|
||||
private List<SolvedQuiz> solvedQuizList = new ArrayList<>();
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ public class SendQuizCronJob {
|
||||
final List<User> userList = userService.getEnabledUserList();
|
||||
for (final User user : userList) {
|
||||
final List<Quiz> unsolvedQuizList = quizService.getUnsolvedQuizList(user.getId(), user.getQuizLevel());
|
||||
final boolean isLastMail = isLastMail(unsolvedQuizList);
|
||||
final boolean isLastMail = isLastMail(unsolvedQuizList, user.getQuizSize());
|
||||
|
||||
final List<Quiz> randomQuizList = quizService.getRandomQuizListUnderLimit(unsolvedQuizList);
|
||||
if (isLastMail) {
|
||||
@@ -49,8 +49,8 @@ public class SendQuizCronJob {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isLastMail(final List<Quiz> quizList) {
|
||||
return quizList.size() <= QuizConstants.MAXIMUM_QUIZ_SIZE;
|
||||
private boolean isLastMail(final List<Quiz> quizList, final Integer quizSize) {
|
||||
return quizList.size() <= quizSize;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ class SendQuizCronJobTest {
|
||||
user = User.builder()
|
||||
.email("minkyu@test.com")
|
||||
.quizLevel(QuizLevel.JUNIOR)
|
||||
.quizSize(3)
|
||||
.build();
|
||||
|
||||
userList = Collections.singletonList(user);
|
||||
|
||||
Reference in New Issue
Block a user