[#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.LoginRequest
import roomescape.auth.web.TokenResponse import roomescape.auth.web.TokenResponse
import roomescape.member.business.MemberService import roomescape.member.business.MemberService
import roomescape.member.infrastructure.persistence.Member import roomescape.member.infrastructure.persistence.MemberEntity
@Service @Service
class AuthService( class AuthService(
@ -14,7 +14,7 @@ class AuthService(
private val jwtHandler: JwtHandler private val jwtHandler: JwtHandler
) { ) {
fun login(request: LoginRequest): TokenResponse { fun login(request: LoginRequest): TokenResponse {
val member: Member = memberService.findMemberByEmailAndPassword( val member: MemberEntity = memberService.findMemberByEmailAndPassword(
request.email, request.email,
request.password request.password
) )

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -21,7 +21,7 @@ import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import io.restassured.RestAssured; import io.restassured.RestAssured;
import io.restassured.http.ContentType; import io.restassured.http.ContentType;
import io.restassured.http.Header; 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.MemberRepository;
import roomescape.member.infrastructure.persistence.Role; import roomescape.member.infrastructure.persistence.Role;
import roomescape.reservation.domain.Reservation; import roomescape.reservation.domain.Reservation;
@ -199,7 +199,7 @@ public class ReservationTimeControllerTest {
} }
private String getAdminAccessTokenCookieByLogin(String email, String password) { 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( Map<String, String> loginParams = Map.of(
"email", email, "email", email,
@ -225,7 +225,7 @@ public class ReservationTimeControllerTest {
ReservationTime reservationTime2 = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30))); ReservationTime reservationTime2 = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
ReservationTime reservationTime3 = reservationTimeRepository.save(new ReservationTime(LocalTime.of(18, 30))); ReservationTime reservationTime3 = reservationTimeRepository.save(new ReservationTime(LocalTime.of(18, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명1", "설명", "썸네일URL")); 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( reservationRepository.save(
new Reservation(today.plusDays(1), reservationTime1, theme, member, ReservationStatus.CONFIRMED)); 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.Arguments;
import org.junit.jupiter.params.provider.MethodSource; 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.member.infrastructure.persistence.Role;
import roomescape.common.exception.RoomescapeException; import roomescape.common.exception.RoomescapeException;
import roomescape.theme.infrastructure.persistence.ThemeEntity; import roomescape.theme.infrastructure.persistence.ThemeEntity;
@ -21,7 +21,7 @@ public class ReservationTest {
@MethodSource("validateConstructorParameterBlankSource") @MethodSource("validateConstructorParameterBlankSource")
@DisplayName("객체 생성 시, null 또는 공백이 존재하면 예외를 발생한다.") @DisplayName("객체 생성 시, null 또는 공백이 존재하면 예외를 발생한다.")
void validateConstructorParameterBlank(LocalDate date, ReservationTime reservationTime, ThemeEntity theme, void validateConstructorParameterBlank(LocalDate date, ReservationTime reservationTime, ThemeEntity theme,
Member member) { MemberEntity member) {
// when & then // when & then
Assertions.assertThatThrownBy( Assertions.assertThatThrownBy(
@ -34,17 +34,17 @@ public class ReservationTest {
Arguments.of(null, Arguments.of(null,
new ReservationTime(LocalTime.now().plusHours(1)), new ReservationTime(LocalTime.now().plusHours(1)),
new ThemeEntity(null, "테마명", "설명", "썸네일URI"), 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( Arguments.of(
LocalDate.now(), LocalDate.now(),
null, null,
new ThemeEntity(null, "테마명", "설명", "썸네일URI"), 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( Arguments.of(
LocalDate.now(), LocalDate.now(),
new ReservationTime(LocalTime.now().plusHours(1)), new ReservationTime(LocalTime.now().plusHours(1)),
null, null,
new Member(null, "name", "email@email.com", "password", Role.MEMBER)), new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER)),
Arguments.of( Arguments.of(
LocalDate.now(), LocalDate.now(),
new ReservationTime(LocalTime.now().plusHours(1)), 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.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.data.jpa.domain.Specification; 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.MemberRepository;
import roomescape.member.infrastructure.persistence.Role; import roomescape.member.infrastructure.persistence.Role;
import roomescape.reservation.domain.Reservation; import roomescape.reservation.domain.Reservation;
@ -50,7 +50,7 @@ class ReservationSearchSpecificationTest {
@BeforeEach @BeforeEach
void setUp() { void setUp() {
LocalDateTime dateTime = LocalDateTime.now(); 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())); ReservationTime time = timeRepository.save(new ReservationTime(dateTime.toLocalTime()));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "description", "thumbnail")); 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 org.springframework.test.context.jdbc.Sql.ExecutionPhase;
import roomescape.member.business.MemberService; 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.MemberRepository;
import roomescape.member.infrastructure.persistence.Role; import roomescape.member.infrastructure.persistence.Role;
import roomescape.reservation.domain.Reservation; import roomescape.reservation.domain.Reservation;
@ -53,8 +53,8 @@ class ReservationServiceTest {
// given // given
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30))); ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL")); ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member member1 = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER)); MemberEntity member1 = memberRepository.save(new MemberEntity(null, "name", "email@email.com", "password", Role.MEMBER));
Member member2 = memberRepository.save(new Member(null, "name2", "email2@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); LocalDate date = LocalDate.now().plusDays(1L);
// when // when
@ -75,7 +75,7 @@ class ReservationServiceTest {
// given // given
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30))); ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL")); 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); LocalDate date = LocalDate.now().plusDays(1L);
// when // when
@ -95,8 +95,8 @@ class ReservationServiceTest {
// given // given
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30))); ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL")); 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));
Member member1 = memberRepository.save(new Member(null, "name1", "email1@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); LocalDate date = LocalDate.now().plusDays(1L);
// when // when
@ -119,7 +119,7 @@ class ReservationServiceTest {
// given // given
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30))); ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL")); 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); LocalDate beforeDate = LocalDate.now().minusDays(1L);
// when & then // when & then
@ -136,7 +136,7 @@ class ReservationServiceTest {
LocalDateTime beforeTime = LocalDateTime.now().minusHours(1L).withNano(0); LocalDateTime beforeTime = LocalDateTime.now().minusHours(1L).withNano(0);
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(beforeTime.toLocalTime())); ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(beforeTime.toLocalTime()));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL")); 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 // when & then
assertThatThrownBy(() -> reservationService.addReservation( assertThatThrownBy(() -> reservationService.addReservation(
@ -180,9 +180,9 @@ class ReservationServiceTest {
// given // given
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30))); ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL")); ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member admin = memberRepository.save(new Member(null, "admin", "admin@email.com", "password", Role.ADMIN)); MemberEntity admin = memberRepository.save(new MemberEntity(null, "admin", "admin@email.com", "password", Role.ADMIN));
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));
Member member1 = memberRepository.save(new Member(null, "name1", "email1@email.com", "password", Role.MEMBER)); MemberEntity member1 = memberRepository.save(new MemberEntity(null, "name1", "email1@email.com", "password", Role.MEMBER));
reservationService.addReservation( reservationService.addReservation(
new ReservationRequest(LocalDate.now().plusDays(1L), reservationTime.getId(), theme.getId(), new ReservationRequest(LocalDate.now().plusDays(1L), reservationTime.getId(), theme.getId(),
@ -203,8 +203,8 @@ class ReservationServiceTest {
// given // given
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30))); ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL")); ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
Member admin = memberRepository.save(new Member(null, "admin", "admin@email.com", "password", Role.ADMIN)); MemberEntity admin = memberRepository.save(new MemberEntity(null, "admin", "admin@email.com", "password", Role.ADMIN));
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 // when
ReservationResponse waiting = reservationService.addWaiting( 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;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase; 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.MemberRepository;
import roomescape.member.infrastructure.persistence.Role; import roomescape.member.infrastructure.persistence.Role;
import roomescape.reservation.domain.Reservation; import roomescape.reservation.domain.Reservation;
@ -75,7 +75,7 @@ class ReservationTimeServiceTest {
ReservationTime reservationTime = reservationTimeRepository.save( ReservationTime reservationTime = reservationTimeRepository.save(
new ReservationTime(localDateTime.toLocalTime())); new ReservationTime(localDateTime.toLocalTime()));
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL")); 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 // when
reservationRepository.save(new Reservation(localDateTime.toLocalDate(), reservationTime, theme, member, 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;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase; 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.MemberRepository;
import roomescape.member.infrastructure.persistence.Role; import roomescape.member.infrastructure.persistence.Role;
import roomescape.payment.infrastructure.persistence.CanceledPaymentRepository; import roomescape.payment.infrastructure.persistence.CanceledPaymentRepository;
@ -59,7 +59,7 @@ class ReservationWithPaymentServiceTest {
LocalDateTime localDateTime = LocalDateTime.now().plusDays(1L).withNano(0); LocalDateTime localDateTime = LocalDateTime.now().plusDays(1L).withNano(0);
LocalDate date = localDateTime.toLocalDate(); LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime())); 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")); ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "desc", "thumbnail"));
ReservationRequest reservationRequest = new ReservationRequest(date, time.getId(), theme.getId(), "payment-key", ReservationRequest reservationRequest = new ReservationRequest(date, time.getId(), theme.getId(), "payment-key",
"order-id", 10000L, "NORMAL"); "order-id", 10000L, "NORMAL");
@ -95,7 +95,7 @@ class ReservationWithPaymentServiceTest {
LocalDateTime localDateTime = LocalDateTime.now().plusDays(1L).withNano(0); LocalDateTime localDateTime = LocalDateTime.now().plusDays(1L).withNano(0);
LocalDate date = localDateTime.toLocalDate(); LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime())); 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")); ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "desc", "thumbnail"));
ReservationRequest reservationRequest = new ReservationRequest(date, time.getId(), theme.getId(), "payment-key", ReservationRequest reservationRequest = new ReservationRequest(date, time.getId(), theme.getId(), "payment-key",
"order-id", 10000L, "NORMAL"); "order-id", 10000L, "NORMAL");
@ -123,7 +123,7 @@ class ReservationWithPaymentServiceTest {
LocalDateTime localDateTime = LocalDateTime.now().plusHours(1L); LocalDateTime localDateTime = LocalDateTime.now().plusHours(1L);
LocalDate date = localDateTime.toLocalDate(); LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime())); 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")); ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "desc", "thumbnail"));
Reservation saved = reservationRepository.save( Reservation saved = reservationRepository.save(
@ -145,7 +145,7 @@ class ReservationWithPaymentServiceTest {
LocalDateTime localDateTime = LocalDateTime.now().plusDays(1L).withNano(0); LocalDateTime localDateTime = LocalDateTime.now().plusDays(1L).withNano(0);
LocalDate date = localDateTime.toLocalDate(); LocalDate date = localDateTime.toLocalDate();
ReservationTime time = reservationTimeRepository.save(new ReservationTime(localDateTime.toLocalTime())); 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")); ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "desc", "thumbnail"));
ReservationRequest reservationRequest = new ReservationRequest(date, time.getId(), theme.getId(), "payment-key", ReservationRequest reservationRequest = new ReservationRequest(date, time.getId(), theme.getId(), "payment-key",
"order-id", 10000L, "NORMAL"); "order-id", 10000L, "NORMAL");

View File

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

View File

@ -2,7 +2,7 @@ package roomescape.util
import roomescape.auth.infrastructure.jwt.JwtHandler import roomescape.auth.infrastructure.jwt.JwtHandler
import roomescape.auth.web.LoginRequest 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.member.infrastructure.persistence.Role
import roomescape.payment.infrastructure.persistence.CanceledPaymentEntity import roomescape.payment.infrastructure.persistence.CanceledPaymentEntity
import roomescape.payment.infrastructure.persistence.PaymentEntity import roomescape.payment.infrastructure.persistence.PaymentEntity
@ -26,9 +26,9 @@ object MemberFixture {
account: String = "default", account: String = "default",
password: String = "password", password: String = "password",
role: Role = Role.ADMIN 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, id = 2L,
account = "admin", account = "admin",
role = Role.ADMIN role = Role.ADMIN
@ -38,7 +38,7 @@ object MemberFixture {
password = admin().password password = admin().password
) )
fun user(): Member = create( fun user(): MemberEntity = create(
id = 1L, id = 1L,
account = "user", account = "user",
role = Role.MEMBER role = Role.MEMBER
@ -71,7 +71,7 @@ object ReservationFixture {
date: LocalDate = LocalDate.now().plusWeeks(1), date: LocalDate = LocalDate.now().plusWeeks(1),
themeEntity: ThemeEntity = ThemeFixture.create(), themeEntity: ThemeEntity = ThemeFixture.create(),
reservationTime: ReservationTime = ReservationTimeFixture.create(), reservationTime: ReservationTime = ReservationTimeFixture.create(),
member: Member = MemberFixture.create(), member: MemberEntity = MemberFixture.create(),
status: ReservationStatus = ReservationStatus.CONFIRMED_PAYMENT_REQUIRED status: ReservationStatus = ReservationStatus.CONFIRMED_PAYMENT_REQUIRED
): Reservation = Reservation(id, date, reservationTime, themeEntity, member, status) ): 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.ErrorType
import roomescape.common.exception.RoomescapeException import roomescape.common.exception.RoomescapeException
import roomescape.member.business.MemberService 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.MemberRepository
import roomescape.util.MemberFixture.NOT_LOGGED_IN_USERID import roomescape.util.MemberFixture.NOT_LOGGED_IN_USERID
@ -43,8 +43,8 @@ abstract class RoomescapeApiTest : BehaviorSpec() {
lateinit var jwtHandler: JwtHandler lateinit var jwtHandler: JwtHandler
val objectMapper: ObjectMapper = jacksonObjectMapper() val objectMapper: ObjectMapper = jacksonObjectMapper()
val admin: Member = MemberFixture.admin() val admin: MemberEntity = MemberFixture.admin()
val user: Member = MemberFixture.user() val user: MemberEntity = MemberFixture.user()
fun runGetTest( fun runGetTest(
mockMvc: MockMvc, mockMvc: MockMvc,