Move resourceId to individual entities

This commit is contained in:
MangKyu
2022-01-03 01:58:39 +09:00
parent 12f128a418
commit 212b3138e4
4 changed files with 26 additions and 17 deletions

View File

@@ -26,9 +26,6 @@ public abstract class BaseEntity implements Serializable {
@Column(name = "id", nullable = false)
private Long id;
@Column(nullable = false)
private String resourceId;
@CreationTimestamp
@Column(nullable = false, length = 20, updatable = false)
private LocalDateTime createdAt;

View File

@@ -1,12 +1,10 @@
package com.mangkyu.employment.interview.app.quiz.entity;
import com.mangkyu.employment.interview.app.answer.entity.Answer;
import com.mangkyu.employment.interview.app.common.entity.BaseEntity;
import com.mangkyu.employment.interview.enums.value.QuizCategory;
import com.mangkyu.employment.interview.enums.value.QuizLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.*;
import javax.persistence.*;
import java.util.List;
@@ -19,6 +17,9 @@ import java.util.List;
@AllArgsConstructor
public class Quiz extends BaseEntity {
@Column(nullable = false)
private String resourceId;
private String title;
@Enumerated(EnumType.STRING)
@@ -29,4 +30,9 @@ public class Quiz extends BaseEntity {
@Enumerated(EnumType.STRING)
private List<QuizLevel> quizLevel;
// @Setter
// @OneToOne(fetch = FetchType.LAZY)
// @JoinColumn(name = "answer_id")
// private Answer answer;
}

View File

@@ -25,6 +25,9 @@ import static com.mangkyu.employment.interview.app.quiz.constants.QuizConstants.
@AllArgsConstructor
public class User extends BaseEntity {
@Column(nullable = false)
private String resourceId;
@Column(unique = true)
private String email;

View File

@@ -9,45 +9,50 @@ import com.mangkyu.employment.interview.enums.value.QuizDay;
import com.mangkyu.employment.interview.enums.value.QuizLevel;
import org.springframework.test.util.ReflectionTestUtils;
import java.time.LocalDateTime;
import java.util.*;
public final class EntityCreationUtils {
public static Quiz quiz() {
final Quiz quiz = Quiz.builder()
.resourceId(UUID.randomUUID().toString())
.title("quiz")
.quizCategory(QuizCategory.JAVA)
.quizLevel(Arrays.asList(QuizLevel.NEW, QuizLevel.JUNIOR, QuizLevel.SENIOR))
.build();
ReflectionTestUtils.setField(quiz, "resourceId", UUID.randomUUID().toString());
ReflectionTestUtils.setField(quiz, "createdAt", LocalDateTime.now());
return quiz;
}
public static Quiz quiz(final String title, final QuizCategory category, final List<QuizLevel> quizLevelList) {
final Quiz quiz = Quiz.builder()
.resourceId(UUID.randomUUID().toString())
.title(title)
.quizCategory(category)
.quizLevel(quizLevelList)
.build();
ReflectionTestUtils.setField(quiz, "resourceId", UUID.randomUUID().toString());
ReflectionTestUtils.setField(quiz, "createdAt", LocalDateTime.now());
return quiz;
}
public static User user() {
final User user = User.builder()
.resourceId(UUID.randomUUID().toString())
.email("minkyu@test.com")
.quizLevel(QuizLevel.JUNIOR)
.solvedQuizList(Collections.emptyList())
.build();
ReflectionTestUtils.setField(user, "resourceId", UUID.randomUUID().toString());
ReflectionTestUtils.setField(user, "createdAt", LocalDateTime.now());
return user;
}
public static User user(final int quizSize, final Set<QuizDay> daySet, final Set<QuizCategory> categorySet) {
final User user = User.builder()
.resourceId( UUID.randomUUID().toString())
.email("minkyu@test.com")
.quizLevel(QuizLevel.JUNIOR)
.solvedQuizList(Collections.emptyList())
@@ -55,28 +60,26 @@ public final class EntityCreationUtils {
.quizDaySet(daySet)
.quizCategorySet(categorySet)
.build();
ReflectionTestUtils.setField(user, "resourceId", UUID.randomUUID().toString());
ReflectionTestUtils.setField(user, "createdAt", LocalDateTime.now());
return user;
}
public static SolvedQuiz solvedQuiz(final Quiz quiz, final User user) {
final SolvedQuiz solvedQuiz = SolvedQuiz.builder()
return SolvedQuiz.builder()
.quiz(quiz)
.user(user)
.build();
ReflectionTestUtils.setField(solvedQuiz, "resourceId", UUID.randomUUID().toString());
return solvedQuiz;
}
public static Answer answer(final Quiz quiz) {
final Answer answer = Answer.builder()
.quiz(quiz)
.resourceId(UUID.randomUUID().toString())
// .quiz(quiz)
.desc("desc")
.build();
ReflectionTestUtils.setField(answer, "resourceId", UUID.randomUUID().toString());
ReflectionTestUtils.setField(answer, "createdAt", LocalDateTime.now());
return answer;
}