[#16] Reservation 도메인 코드 코틀린 마이그레이션 #17

Merged
pricelees merged 40 commits from refactor/#16 into main 2025-07-21 12:08:56 +00:00
20 changed files with 93 additions and 93 deletions
Showing only changes of commit 514066adb6 - Show all commits

View File

@ -6,7 +6,7 @@ import roomescape.auth.web.LoginCheckResponse
import roomescape.auth.web.LoginRequest
import roomescape.auth.web.TokenResponse
import roomescape.member.business.MemberService
import roomescape.member.infrastructure.persistence.Member
import roomescape.member.infrastructure.persistence.MemberEntity
@Service
class AuthService(
@ -14,7 +14,7 @@ class AuthService(
private val jwtHandler: JwtHandler
) {
fun login(request: LoginRequest): TokenResponse {
val member: Member = memberService.findMemberByEmailAndPassword(
val member: MemberEntity = memberService.findMemberByEmailAndPassword(
request.email,
request.password
)

View File

@ -10,7 +10,7 @@ import roomescape.auth.infrastructure.jwt.JwtHandler
import roomescape.common.exception.ErrorType
import roomescape.common.exception.RoomescapeException
import roomescape.member.business.MemberService
import roomescape.member.infrastructure.persistence.Member
import roomescape.member.infrastructure.persistence.MemberEntity
private fun Any.isIrrelevantWith(annotationType: Class<out Annotation>): Boolean {
if (this !is HandlerMethod) {
@ -63,7 +63,7 @@ class AdminInterceptor(
return true
}
val member: Member?
val member: MemberEntity?
try {
val token: String? = request.accessTokenCookie().value

View File

@ -6,7 +6,7 @@ import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import roomescape.common.exception.ErrorType
import roomescape.common.exception.RoomescapeException
import roomescape.member.infrastructure.persistence.Member
import roomescape.member.infrastructure.persistence.MemberEntity
import roomescape.member.infrastructure.persistence.MemberRepository
import roomescape.member.web.MembersResponse
import roomescape.member.web.toResponse
@ -22,14 +22,14 @@ class MemberService(
.toList()
)
fun findById(memberId: Long): Member = memberRepository.findByIdOrNull(memberId)
fun findById(memberId: Long): MemberEntity = memberRepository.findByIdOrNull(memberId)
?: throw RoomescapeException(
ErrorType.MEMBER_NOT_FOUND,
String.format("[memberId: %d]", memberId),
HttpStatus.BAD_REQUEST
)
fun findMemberByEmailAndPassword(email: String, password: String): Member =
fun findMemberByEmailAndPassword(email: String, password: String): MemberEntity =
memberRepository.findByEmailAndPassword(email, password)
?: throw RoomescapeException(
ErrorType.MEMBER_NOT_FOUND,

View File

@ -3,7 +3,7 @@ package roomescape.member.infrastructure.persistence
import jakarta.persistence.*
@Entity
class Member(
class MemberEntity(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long? = null,

View File

@ -2,6 +2,6 @@ package roomescape.member.infrastructure.persistence
import org.springframework.data.jpa.repository.JpaRepository
interface MemberRepository : JpaRepository<Member, Long> {
fun findByEmailAndPassword(email: String, password: String): Member?
interface MemberRepository : JpaRepository<MemberEntity, Long> {
fun findByEmailAndPassword(email: String, password: String): MemberEntity?
}

View File

@ -1,9 +1,9 @@
package roomescape.member.web
import io.swagger.v3.oas.annotations.media.Schema
import roomescape.member.infrastructure.persistence.Member
import roomescape.member.infrastructure.persistence.MemberEntity
fun Member.toResponse(): MemberResponse = MemberResponse(
fun MemberEntity.toResponse(): MemberResponse = MemberResponse(
id = id!!,
name = name
)
@ -18,7 +18,7 @@ data class MemberResponse(
) {
companion object {
@JvmStatic
fun fromEntity(member: Member): MemberResponse {
fun fromEntity(member: MemberEntity): MemberResponse {
return MemberResponse(member.id!!, member.name)
}
}

View File

@ -17,7 +17,7 @@ import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomescapeException;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.member.infrastructure.persistence.MemberEntity;
import roomescape.theme.infrastructure.persistence.ThemeEntity;
@Entity
@ -39,7 +39,7 @@ public class Reservation {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id", nullable = false)
private Member member;
private MemberEntity member;
@Enumerated(value = EnumType.STRING)
private ReservationStatus reservationStatus;
@ -51,7 +51,7 @@ public class Reservation {
LocalDate date,
ReservationTime reservationTime,
ThemeEntity theme,
Member member,
MemberEntity member,
ReservationStatus status
) {
this(null, date, reservationTime, theme, member, status);
@ -62,7 +62,7 @@ public class Reservation {
LocalDate date,
ReservationTime reservationTime,
ThemeEntity theme,
Member member,
MemberEntity member,
ReservationStatus status
) {
validateIsNull(date, reservationTime, theme, member, status);
@ -74,7 +74,7 @@ public class Reservation {
this.reservationStatus = status;
}
private void validateIsNull(LocalDate date, ReservationTime reservationTime, ThemeEntity theme, Member member,
private void validateIsNull(LocalDate date, ReservationTime reservationTime, ThemeEntity theme, MemberEntity member,
ReservationStatus reservationStatus) {
if (date == null || reservationTime == null || theme == null || member == null || reservationStatus == null) {
throw new RoomescapeException(ErrorType.REQUEST_DATA_BLANK, String.format("[values: %s]", this),
@ -102,7 +102,7 @@ public class Reservation {
return theme;
}
public Member getMember() {
public MemberEntity getMember() {
return member;
}

View File

@ -12,7 +12,7 @@ import org.springframework.transaction.annotation.Transactional;
import roomescape.common.exception.ErrorType;
import roomescape.common.exception.RoomescapeException;
import roomescape.member.business.MemberService;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.member.infrastructure.persistence.MemberEntity;
import roomescape.reservation.domain.Reservation;
import roomescape.reservation.domain.ReservationStatus;
import roomescape.reservation.domain.ReservationTime;
@ -147,7 +147,7 @@ public class ReservationService {
ReservationStatus status) {
ReservationTime time = reservationTimeService.findTimeById(timeId);
ThemeEntity theme = themeService.findThemeById(themeId);
Member member = memberService.findById(memberId);
MemberEntity member = memberService.findById(memberId);
validateDateAndTime(date, time);
return new Reservation(date, time, theme, member, status);
@ -213,7 +213,7 @@ public class ReservationService {
}
private void validateIsMemberAdmin(Long memberId) {
Member member = memberService.findById(memberId);
MemberEntity member = memberService.findById(memberId);
if (member.isAdmin()) {
return;
}

View File

@ -10,7 +10,7 @@ import org.springframework.data.repository.findByIdOrNull
import roomescape.util.JwtFixture
import roomescape.util.MemberFixture
import roomescape.member.business.MemberService
import roomescape.member.infrastructure.persistence.Member
import roomescape.member.infrastructure.persistence.MemberEntity
import roomescape.member.infrastructure.persistence.MemberRepository
import roomescape.auth.infrastructure.jwt.JwtHandler
import roomescape.auth.service.AuthService
@ -24,7 +24,7 @@ class AuthServiceTest : BehaviorSpec({
val jwtHandler: JwtHandler = JwtFixture.create()
val authService = AuthService(memberService, jwtHandler)
val user: Member = MemberFixture.user()
val user: MemberEntity = MemberFixture.user()
Given("로그인 요청을 받으면") {
When("이메일과 비밀번호로 회원을 찾고") {

View File

@ -14,7 +14,7 @@ import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import roomescape.common.exception.RoomescapeException;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.member.infrastructure.persistence.MemberEntity;
import roomescape.member.infrastructure.persistence.MemberRepository;
import roomescape.member.infrastructure.persistence.Role;
import roomescape.payment.infrastructure.persistence.CanceledPaymentEntity;
@ -56,7 +56,7 @@ class PaymentServiceTest {
LocalDateTime localDateTime = LocalDateTime.now().plusHours(1L);
LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime()));
Member member = memberRepository.save(new Member(null, "member", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "member", "email@email.com", "password", Role.MEMBER));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "desc", "thumbnail"));
Reservation reservation = reservationRepository.save(new Reservation(date, time, theme, member,
ReservationStatus.CONFIRMED));
@ -78,7 +78,7 @@ class PaymentServiceTest {
LocalDateTime localDateTime = LocalDateTime.now().plusHours(1L);
LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime()));
Member member = memberRepository.save(new Member(null, "member", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "member", "email@email.com", "password", Role.MEMBER));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "desc", "thumbnail"));
Reservation reservation = reservationRepository.save(new Reservation(date, time, theme, member,
ReservationStatus.CONFIRMED));
@ -115,7 +115,7 @@ class PaymentServiceTest {
LocalDateTime localDateTime = LocalDateTime.now().plusHours(1L);
LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime()));
Member member = memberRepository.save(new Member(null, "member", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "member", "email@email.com", "password", Role.MEMBER));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "desc", "thumbnail"));
Reservation reservation = reservationRepository.save(new Reservation(date, time, theme, member,
ReservationStatus.CONFIRMED));

View File

@ -31,7 +31,7 @@ import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import io.restassured.http.Header;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.member.infrastructure.persistence.MemberEntity;
import roomescape.member.infrastructure.persistence.MemberRepository;
import roomescape.member.infrastructure.persistence.Role;
import roomescape.payment.infrastructure.client.TossPaymentClient;
@ -120,12 +120,12 @@ public class ReservationControllerTest {
@DisplayName("대기중인 예약을 취소한다.")
void cancelWaiting() {
// given
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
String accessTokenCookie = getAccessTokenCookieByLogin("email@email.com", "password");
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member1 = memberRepository.save(new Member(null, "name1", "email1r@email.com", "password", Role.MEMBER));
MemberEntity member1 = memberRepository.save(new MemberEntity(null, "name1", "email1r@email.com", "password", Role.MEMBER));
// when
reservationRepository.save(new Reservation(LocalDate.now().plusDays(1), reservationTime, theme, member1,
@ -147,14 +147,14 @@ public class ReservationControllerTest {
@DisplayName("회원은 자신이 아닌 다른 회원의 예약을 취소할 수 없다.")
void cantCancelOtherMembersWaiting() {
// given
Member confirmedMember = memberRepository.save(
new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity confirmedMember = memberRepository.save(
new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
String accessTokenCookie = getAccessTokenCookieByLogin("email@email.com", "password");
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member waitingMember = memberRepository.save(
new Member(null, "name1", "email1r@email.com", "password", Role.MEMBER));
MemberEntity waitingMember = memberRepository.save(
new MemberEntity(null, "name1", "email1r@email.com", "password", Role.MEMBER));
// when
reservationRepository.save(new Reservation(LocalDate.now().plusDays(1), reservationTime, theme, confirmedMember,
@ -180,7 +180,7 @@ public class ReservationControllerTest {
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
// when
reservationRepository.save(
@ -204,7 +204,7 @@ public class ReservationControllerTest {
@DisplayName("예약 취소는 관리자만 할 수 있다.")
void canRemoveMyReservation() {
// given
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
String accessTokenCookie = getAccessTokenCookieByLogin(member.getEmail(), member.getPassword());
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
@ -229,10 +229,10 @@ public class ReservationControllerTest {
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member confirmedMember = memberRepository.save(
new Member(null, "name1", "email@email.com", "password", Role.MEMBER));
Member waitingMember = memberRepository.save(
new Member(null, "name1", "email1@email.com", "password", Role.MEMBER));
MemberEntity confirmedMember = memberRepository.save(
new MemberEntity(null, "name1", "email@email.com", "password", Role.MEMBER));
MemberEntity waitingMember = memberRepository.save(
new MemberEntity(null, "name1", "email1@email.com", "password", Role.MEMBER));
reservationRepository.save(
new Reservation(LocalDate.now(), reservationTime, theme, confirmedMember, ReservationStatus.CONFIRMED));
@ -252,13 +252,13 @@ public class ReservationControllerTest {
@DisplayName("본인의 예약이 아니더라도 관리자 권한이 있으면 예약 정보를 삭제할 수 있다.")
void readReservationsSizeAfterPostAndDelete() {
// given
Member member = memberRepository.save(new Member(null, "name", "admin@admin.com", "password", Role.ADMIN));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "admin@admin.com", "password", Role.ADMIN));
String accessTokenCookie = getAccessTokenCookieByLogin(member.getEmail(), member.getPassword());
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member anotherMember = memberRepository.save(
new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity anotherMember = memberRepository.save(
new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
Reservation reservation = reservationRepository.save(
new Reservation(LocalDate.now(), reservationTime, theme, anotherMember, ReservationStatus.CONFIRMED));
@ -342,7 +342,7 @@ public class ReservationControllerTest {
ReservationTime time1 = reservationTimeRepository.save(new ReservationTime(LocalTime.of(18, 30)));
ReservationTime time2 = reservationTimeRepository.save(new ReservationTime(LocalTime.of(19, 30)));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.ADMIN));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.ADMIN));
String accessToken = getAccessTokenCookieByLogin("email@email.com", "password");
// when : 예약은 2개, 예약 대기는 1개 조회되어야 한다.
@ -372,7 +372,7 @@ public class ReservationControllerTest {
// when
Reservation saved = reservationRepository.save(new Reservation(date, time, theme,
memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER)),
memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER)),
ReservationStatus.CONFIRMED_PAYMENT_REQUIRED));
// then
@ -392,7 +392,7 @@ public class ReservationControllerTest {
LocalDate date = LocalDate.now().plusDays(1);
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
ReservationTime time = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
Reservation saved = reservationRepository.save(
new Reservation(date, time, theme, member, ReservationStatus.CONFIRMED));
@ -422,7 +422,7 @@ public class ReservationControllerTest {
LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime()));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
String accessToken = getAccessTokenCookieByLogin(member.getEmail(), member.getPassword());
// when : 이전 날짜의 예약을 추가하여 결제 승인 이후 DB 저장 과정에서 예외를 발생시킨다.
@ -515,8 +515,8 @@ public class ReservationControllerTest {
LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime()));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
Member member1 = memberRepository.save(new Member(null, "name1", "email1@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member1 = memberRepository.save(new MemberEntity(null, "name1", "email1@email.com", "password", Role.MEMBER));
String accessToken = getAccessTokenCookieByLogin(member.getEmail(), member.getPassword());
reservationRepository.save(new Reservation(date, time, theme, member1, ReservationStatus.CONFIRMED));
@ -541,7 +541,7 @@ public class ReservationControllerTest {
LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime()));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
String accessToken = getAdminAccessTokenCookieByLogin("admin@email.com", "password");
Reservation waiting = reservationRepository.save(
@ -586,7 +586,7 @@ public class ReservationControllerTest {
LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime()));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
String adminAccessToken = getAdminAccessTokenCookieByLogin("admin@email.com", "password");
@ -602,7 +602,7 @@ public class ReservationControllerTest {
}
private String getAdminAccessTokenCookieByLogin(final String email, final String password) {
memberRepository.save(new Member(null, "이름", email, password, Role.ADMIN));
memberRepository.save(new MemberEntity(null, "이름", email, password, Role.ADMIN));
Map<String, String> loginParams = Map.of(
"email", email,

View File

@ -21,7 +21,7 @@ import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import io.restassured.http.Header;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.member.infrastructure.persistence.MemberEntity;
import roomescape.member.infrastructure.persistence.MemberRepository;
import roomescape.member.infrastructure.persistence.Role;
import roomescape.reservation.domain.Reservation;
@ -199,7 +199,7 @@ public class ReservationTimeControllerTest {
}
private String getAdminAccessTokenCookieByLogin(String email, String password) {
memberRepository.save(new Member(null, "이름", email, password, Role.ADMIN));
memberRepository.save(new MemberEntity(null, "이름", email, password, Role.ADMIN));
Map<String, String> loginParams = Map.of(
"email", email,
@ -225,7 +225,7 @@ public class ReservationTimeControllerTest {
ReservationTime reservationTime2 = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
ReservationTime reservationTime3 = reservationTimeRepository.save(new ReservationTime(LocalTime.of(18, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명1", "설명", "썸네일URL"));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
reservationRepository.save(
new Reservation(today.plusDays(1), reservationTime1, theme, member, ReservationStatus.CONFIRMED));

View File

@ -10,7 +10,7 @@ import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.member.infrastructure.persistence.MemberEntity;
import roomescape.member.infrastructure.persistence.Role;
import roomescape.common.exception.RoomescapeException;
import roomescape.theme.infrastructure.persistence.ThemeEntity;
@ -21,7 +21,7 @@ public class ReservationTest {
@MethodSource("validateConstructorParameterBlankSource")
@DisplayName("객체 생성 시, null 또는 공백이 존재하면 예외를 발생한다.")
void validateConstructorParameterBlank(LocalDate date, ReservationTime reservationTime, ThemeEntity theme,
Member member) {
MemberEntity member) {
// when & then
Assertions.assertThatThrownBy(
@ -34,17 +34,17 @@ public class ReservationTest {
Arguments.of(null,
new ReservationTime(LocalTime.now().plusHours(1)),
new ThemeEntity(null, "테마명", "설명", "썸네일URI"),
new Member(null, "name", "email@email.com", "password", Role.MEMBER)),
new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER)),
Arguments.of(
LocalDate.now(),
null,
new ThemeEntity(null, "테마명", "설명", "썸네일URI"),
new Member(null, "name", "email@email.com", "password", Role.MEMBER)),
new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER)),
Arguments.of(
LocalDate.now(),
new ReservationTime(LocalTime.now().plusHours(1)),
null,
new Member(null, "name", "email@email.com", "password", Role.MEMBER)),
new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER)),
Arguments.of(
LocalDate.now(),
new ReservationTime(LocalTime.now().plusHours(1)),

View File

@ -13,7 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.data.jpa.domain.Specification;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.member.infrastructure.persistence.MemberEntity;
import roomescape.member.infrastructure.persistence.MemberRepository;
import roomescape.member.infrastructure.persistence.Role;
import roomescape.reservation.domain.Reservation;
@ -50,7 +50,7 @@ class ReservationSearchSpecificationTest {
@BeforeEach
void setUp() {
LocalDateTime dateTime = LocalDateTime.now();
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
ReservationTime time = timeRepository.save(new ReservationTime(dateTime.toLocalTime()));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "description", "thumbnail"));

View File

@ -15,7 +15,7 @@ import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import roomescape.member.business.MemberService;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.member.infrastructure.persistence.MemberEntity;
import roomescape.member.infrastructure.persistence.MemberRepository;
import roomescape.member.infrastructure.persistence.Role;
import roomescape.reservation.domain.Reservation;
@ -53,8 +53,8 @@ class ReservationServiceTest {
// given
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member1 = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
Member member2 = memberRepository.save(new Member(null, "name2", "email2@email.com", "password", Role.MEMBER));
MemberEntity member1 = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member2 = memberRepository.save(new MemberEntity(null, "name2", "email2@email.com", "password", Role.MEMBER));
LocalDate date = LocalDate.now().plusDays(1L);
// when
@ -75,7 +75,7 @@ class ReservationServiceTest {
// given
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
LocalDate date = LocalDate.now().plusDays(1L);
// when
@ -95,8 +95,8 @@ class ReservationServiceTest {
// given
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
Member member1 = memberRepository.save(new Member(null, "name1", "email1@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member1 = memberRepository.save(new MemberEntity(null, "name1", "email1@email.com", "password", Role.MEMBER));
LocalDate date = LocalDate.now().plusDays(1L);
// when
@ -119,7 +119,7 @@ class ReservationServiceTest {
// given
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
LocalDate beforeDate = LocalDate.now().minusDays(1L);
// when & then
@ -136,7 +136,7 @@ class ReservationServiceTest {
LocalDateTime beforeTime = LocalDateTime.now().minusHours(1L).withNano(0);
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(beforeTime.toLocalTime()));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
// when & then
assertThatThrownBy(() -> reservationService.addReservation(
@ -180,9 +180,9 @@ class ReservationServiceTest {
// given
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member admin = memberRepository.save(new Member(null, "admin", "admin@email.com", "password", Role.ADMIN));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
Member member1 = memberRepository.save(new Member(null, "name1", "email1@email.com", "password", Role.MEMBER));
MemberEntity admin = memberRepository.save(new MemberEntity(null, "admin", "admin@email.com", "password", Role.ADMIN));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member1 = memberRepository.save(new MemberEntity(null, "name1", "email1@email.com", "password", Role.MEMBER));
reservationService.addReservation(
new ReservationRequest(LocalDate.now().plusDays(1L), reservationTime.getId(), theme.getId(),
@ -203,8 +203,8 @@ class ReservationServiceTest {
// given
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member admin = memberRepository.save(new Member(null, "admin", "admin@email.com", "password", Role.ADMIN));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity admin = memberRepository.save(new MemberEntity(null, "admin", "admin@email.com", "password", Role.ADMIN));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
// when
ReservationResponse waiting = reservationService.addWaiting(

View File

@ -13,7 +13,7 @@ import org.springframework.context.annotation.Import;
import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.member.infrastructure.persistence.MemberEntity;
import roomescape.member.infrastructure.persistence.MemberRepository;
import roomescape.member.infrastructure.persistence.Role;
import roomescape.reservation.domain.Reservation;
@ -75,7 +75,7 @@ class ReservationTimeServiceTest {
ReservationTime reservationTime = reservationTimeRepository.save(
new ReservationTime(localDateTime.toLocalTime()));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
// when
reservationRepository.save(new Reservation(localDateTime.toLocalDate(), reservationTime, theme, member,

View File

@ -13,7 +13,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import roomescape.member.infrastructure.persistence.Member;
import roomescape.member.infrastructure.persistence.MemberEntity;
import roomescape.member.infrastructure.persistence.MemberRepository;
import roomescape.member.infrastructure.persistence.Role;
import roomescape.payment.infrastructure.persistence.CanceledPaymentRepository;
@ -59,7 +59,7 @@ class ReservationWithPaymentServiceTest {
LocalDateTime localDateTime = LocalDateTime.now().plusDays(1L).withNano(0);
LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime()));
Member member = memberRepository.save(new Member(null, "member", "email@email.com", "password", Role.MEMBER));
MemberEntity member = memberRepository.save(new MemberEntity(null, "member", "email@email.com", "password", Role.MEMBER));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "desc", "thumbnail"));
ReservationRequest reservationRequest = new ReservationRequest(date, time.getId(), theme.getId(), "payment-key",
"order-id", 10000L, "NORMAL");
@ -95,7 +95,7 @@ class ReservationWithPaymentServiceTest {
LocalDateTime localDateTime = LocalDateTime.now().plusDays(1L).withNano(0);
LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime()));
Member member = memberRepository.save(new Member(null, "member", "admin@email.com", "password", Role.ADMIN));
MemberEntity member = memberRepository.save(new MemberEntity(null, "member", "admin@email.com", "password", Role.ADMIN));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "desc", "thumbnail"));
ReservationRequest reservationRequest = new ReservationRequest(date, time.getId(), theme.getId(), "payment-key",
"order-id", 10000L, "NORMAL");
@ -123,7 +123,7 @@ class ReservationWithPaymentServiceTest {
LocalDateTime localDateTime = LocalDateTime.now().plusHours(1L);
LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime()));
Member member = memberRepository.save(new Member(null, "member", "admin@email.com", "password", Role.ADMIN));
MemberEntity member = memberRepository.save(new MemberEntity(null, "member", "admin@email.com", "password", Role.ADMIN));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "desc", "thumbnail"));
Reservation saved = reservationRepository.save(
@ -145,7 +145,7 @@ class ReservationWithPaymentServiceTest {
LocalDateTime localDateTime = LocalDateTime.now().plusDays(1L).withNano(0);
LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime()));
Member member = memberRepository.save(new Member(null, "member", "admin@email.com", "password", Role.ADMIN));
MemberEntity member = memberRepository.save(new MemberEntity(null, "member", "admin@email.com", "password", Role.ADMIN));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "desc", "thumbnail"));
ReservationRequest reservationRequest = new ReservationRequest(date, time.getId(), theme.getId(), "payment-key",
"order-id", 10000L, "NORMAL");

View File

@ -1,7 +1,7 @@
package roomescape.theme.util
import jakarta.persistence.EntityManager
import roomescape.member.infrastructure.persistence.Member
import roomescape.member.infrastructure.persistence.MemberEntity
import roomescape.reservation.domain.ReservationStatus
import roomescape.reservation.domain.ReservationTime
import roomescape.theme.infrastructure.persistence.ThemeEntity
@ -20,7 +20,7 @@ object TestThemeCreateUtil {
date: LocalDate,
): ThemeEntity {
val themeEntity: ThemeEntity = ThemeFixture.create(name = name).also { entityManager.persist(it) }
val member: Member = MemberFixture.create().also { entityManager.persist(it) }
val member: MemberEntity = MemberFixture.create().also { entityManager.persist(it) }
for (i in 1..reservedCount) {
val time: ReservationTime = ReservationTimeFixture.create(

View File

@ -2,7 +2,7 @@ package roomescape.util
import roomescape.auth.infrastructure.jwt.JwtHandler
import roomescape.auth.web.LoginRequest
import roomescape.member.infrastructure.persistence.Member
import roomescape.member.infrastructure.persistence.MemberEntity
import roomescape.member.infrastructure.persistence.Role
import roomescape.payment.infrastructure.persistence.CanceledPaymentEntity
import roomescape.payment.infrastructure.persistence.PaymentEntity
@ -26,9 +26,9 @@ object MemberFixture {
account: String = "default",
password: String = "password",
role: Role = Role.ADMIN
): Member = Member(id, name, "$account@email.com", password, role)
): MemberEntity = MemberEntity(id, name, "$account@email.com", password, role)
fun admin(): Member = create(
fun admin(): MemberEntity = create(
id = 2L,
account = "admin",
role = Role.ADMIN
@ -38,7 +38,7 @@ object MemberFixture {
password = admin().password
)
fun user(): Member = create(
fun user(): MemberEntity = create(
id = 1L,
account = "user",
role = Role.MEMBER
@ -71,7 +71,7 @@ object ReservationFixture {
date: LocalDate = LocalDate.now().plusWeeks(1),
themeEntity: ThemeEntity = ThemeFixture.create(),
reservationTime: ReservationTime = ReservationTimeFixture.create(),
member: Member = MemberFixture.create(),
member: MemberEntity = MemberFixture.create(),
status: ReservationStatus = ReservationStatus.CONFIRMED_PAYMENT_REQUIRED
): Reservation = Reservation(id, date, reservationTime, themeEntity, member, status)
}

View File

@ -18,7 +18,7 @@ import roomescape.auth.web.support.MemberIdResolver
import roomescape.common.exception.ErrorType
import roomescape.common.exception.RoomescapeException
import roomescape.member.business.MemberService
import roomescape.member.infrastructure.persistence.Member
import roomescape.member.infrastructure.persistence.MemberEntity
import roomescape.member.infrastructure.persistence.MemberRepository
import roomescape.util.MemberFixture.NOT_LOGGED_IN_USERID
@ -43,8 +43,8 @@ abstract class RoomescapeApiTest : BehaviorSpec() {
lateinit var jwtHandler: JwtHandler
val objectMapper: ObjectMapper = jacksonObjectMapper()
val admin: Member = MemberFixture.admin()
val user: Member = MemberFixture.user()
val admin: MemberEntity = MemberFixture.admin()
val user: MemberEntity = MemberFixture.user()
fun runGetTest(
mockMvc: MockMvc,