generated from pricelees/issue-pr-template
refactor: Theme 클래스 코틀린 전환 및 클래스명 변경(-> ThemeEntity)
This commit is contained in:
parent
b6dd89c9d4
commit
c9ab0aff95
@ -18,7 +18,7 @@ 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.Member;
|
||||||
import roomescape.theme.infrastructure.persistence.Theme;
|
import roomescape.theme.infrastructure.persistence.ThemeEntity;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
public class Reservation {
|
public class Reservation {
|
||||||
@ -35,7 +35,7 @@ public class Reservation {
|
|||||||
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "theme_id", nullable = false)
|
@JoinColumn(name = "theme_id", nullable = false)
|
||||||
private Theme theme;
|
private ThemeEntity theme;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "member_id", nullable = false)
|
@JoinColumn(name = "member_id", nullable = false)
|
||||||
@ -50,7 +50,7 @@ public class Reservation {
|
|||||||
public Reservation(
|
public Reservation(
|
||||||
LocalDate date,
|
LocalDate date,
|
||||||
ReservationTime reservationTime,
|
ReservationTime reservationTime,
|
||||||
Theme theme,
|
ThemeEntity theme,
|
||||||
Member member,
|
Member member,
|
||||||
ReservationStatus status
|
ReservationStatus status
|
||||||
) {
|
) {
|
||||||
@ -61,7 +61,7 @@ public class Reservation {
|
|||||||
Long id,
|
Long id,
|
||||||
LocalDate date,
|
LocalDate date,
|
||||||
ReservationTime reservationTime,
|
ReservationTime reservationTime,
|
||||||
Theme theme,
|
ThemeEntity theme,
|
||||||
Member member,
|
Member member,
|
||||||
ReservationStatus status
|
ReservationStatus status
|
||||||
) {
|
) {
|
||||||
@ -74,7 +74,7 @@ public class Reservation {
|
|||||||
this.reservationStatus = status;
|
this.reservationStatus = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validateIsNull(LocalDate date, ReservationTime reservationTime, Theme theme, Member member,
|
private void validateIsNull(LocalDate date, ReservationTime reservationTime, ThemeEntity theme, Member 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),
|
||||||
@ -98,7 +98,7 @@ public class Reservation {
|
|||||||
return reservationTime;
|
return reservationTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Theme getTheme() {
|
public ThemeEntity getTheme() {
|
||||||
return theme;
|
return theme;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -24,7 +24,7 @@ import roomescape.reservation.dto.request.WaitingRequest;
|
|||||||
import roomescape.reservation.dto.response.MyReservationsResponse;
|
import roomescape.reservation.dto.response.MyReservationsResponse;
|
||||||
import roomescape.reservation.dto.response.ReservationResponse;
|
import roomescape.reservation.dto.response.ReservationResponse;
|
||||||
import roomescape.reservation.dto.response.ReservationsResponse;
|
import roomescape.reservation.dto.response.ReservationsResponse;
|
||||||
import roomescape.theme.infrastructure.persistence.Theme;
|
import roomescape.theme.infrastructure.persistence.ThemeEntity;
|
||||||
import roomescape.theme.business.ThemeService;
|
import roomescape.theme.business.ThemeService;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@ -146,7 +146,7 @@ public class ReservationService {
|
|||||||
private Reservation getReservationForSave(Long timeId, Long themeId, LocalDate date, Long memberId,
|
private Reservation getReservationForSave(Long timeId, Long themeId, LocalDate date, Long memberId,
|
||||||
ReservationStatus status) {
|
ReservationStatus status) {
|
||||||
ReservationTime time = reservationTimeService.findTimeById(timeId);
|
ReservationTime time = reservationTimeService.findTimeById(timeId);
|
||||||
Theme theme = themeService.findThemeById(themeId);
|
ThemeEntity theme = themeService.findThemeById(themeId);
|
||||||
Member member = memberService.findById(memberId);
|
Member member = memberService.findById(memberId);
|
||||||
|
|
||||||
validateDateAndTime(date, time);
|
validateDateAndTime(date, time);
|
||||||
|
|||||||
@ -9,7 +9,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.theme.infrastructure.persistence.Theme;
|
import roomescape.theme.infrastructure.persistence.ThemeEntity;
|
||||||
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
||||||
import roomescape.theme.web.ThemeRequest;
|
import roomescape.theme.web.ThemeRequest;
|
||||||
import roomescape.theme.web.ThemeResponse;
|
import roomescape.theme.web.ThemeResponse;
|
||||||
@ -26,7 +26,7 @@ public class ThemeService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
public Theme findThemeById(Long id) {
|
public ThemeEntity findThemeById(Long id) {
|
||||||
return themeRepository.findById(id)
|
return themeRepository.findById(id)
|
||||||
.orElseThrow(() -> new RoomescapeException(ErrorType.THEME_NOT_FOUND,
|
.orElseThrow(() -> new RoomescapeException(ErrorType.THEME_NOT_FOUND,
|
||||||
String.format("[themeId: %d]", id), HttpStatus.BAD_REQUEST));
|
String.format("[themeId: %d]", id), HttpStatus.BAD_REQUEST));
|
||||||
@ -59,7 +59,7 @@ public class ThemeService {
|
|||||||
|
|
||||||
public ThemeResponse addTheme(ThemeRequest request) {
|
public ThemeResponse addTheme(ThemeRequest request) {
|
||||||
validateIsSameThemeNameExist(request.name());
|
validateIsSameThemeNameExist(request.name());
|
||||||
Theme theme = themeRepository.save(new Theme(request.name(), request.description(), request.thumbnail()));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(request.name(), request.description(), request.thumbnail()));
|
||||||
|
|
||||||
return ThemeResponse.from(theme);
|
return ThemeResponse.from(theme);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,65 +1,15 @@
|
|||||||
package roomescape.theme.infrastructure.persistence;
|
package roomescape.theme.infrastructure.persistence
|
||||||
|
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.*
|
||||||
import jakarta.persistence.GeneratedValue;
|
|
||||||
import jakarta.persistence.GenerationType;
|
|
||||||
import jakarta.persistence.Id;
|
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
public class Theme {
|
@Table(name = "theme")
|
||||||
|
class ThemeEntity(
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
var id: Long? = null,
|
||||||
|
|
||||||
private String name;
|
var name: String,
|
||||||
|
var description: String,
|
||||||
private String description;
|
var thumbnail: String
|
||||||
|
)
|
||||||
private String thumbnail;
|
|
||||||
|
|
||||||
protected Theme() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public Theme(String name, String description, String thumbnail) {
|
|
||||||
this(null, name, description, thumbnail);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Theme(
|
|
||||||
Long id,
|
|
||||||
String name,
|
|
||||||
String description,
|
|
||||||
String thumbnail
|
|
||||||
) {
|
|
||||||
this.id = id;
|
|
||||||
this.name = name;
|
|
||||||
this.description = description;
|
|
||||||
this.thumbnail = thumbnail;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDescription() {
|
|
||||||
return description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getThumbnail() {
|
|
||||||
return thumbnail;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return "Theme{" +
|
|
||||||
"id=" + id +
|
|
||||||
", name=" + name +
|
|
||||||
", description=" + description +
|
|
||||||
", thumbnail=" + thumbnail +
|
|
||||||
'}';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -6,18 +6,18 @@ import java.util.List;
|
|||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.jpa.repository.Query;
|
||||||
|
|
||||||
public interface ThemeRepository extends JpaRepository<Theme, Long> {
|
public interface ThemeRepository extends JpaRepository<ThemeEntity, Long> {
|
||||||
|
|
||||||
@Query(value = """
|
@Query(value = """
|
||||||
SELECT t
|
SELECT t
|
||||||
FROM Theme t
|
FROM ThemeEntity t
|
||||||
RIGHT JOIN Reservation r ON t.id = r.theme.id
|
RIGHT JOIN Reservation r ON t.id = r.theme.id
|
||||||
WHERE r.date BETWEEN :startDate AND :endDate
|
WHERE r.date BETWEEN :startDate AND :endDate
|
||||||
GROUP BY r.theme.id
|
GROUP BY r.theme.id
|
||||||
ORDER BY COUNT(r.theme.id) DESC, t.id ASC
|
ORDER BY COUNT(r.theme.id) DESC, t.id ASC
|
||||||
LIMIT :limit
|
LIMIT :limit
|
||||||
""")
|
""")
|
||||||
List<Theme> findTopNThemeBetweenStartDateAndEndDate(LocalDate startDate, LocalDate endDate, int limit);
|
List<ThemeEntity> findTopNThemeBetweenStartDateAndEndDate(LocalDate startDate, LocalDate endDate, int limit);
|
||||||
|
|
||||||
boolean existsByName(String name);
|
boolean existsByName(String name);
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema
|
|||||||
import jakarta.validation.constraints.NotBlank
|
import jakarta.validation.constraints.NotBlank
|
||||||
import jakarta.validation.constraints.Size
|
import jakarta.validation.constraints.Size
|
||||||
import org.hibernate.validator.constraints.URL
|
import org.hibernate.validator.constraints.URL
|
||||||
import roomescape.theme.infrastructure.persistence.Theme
|
import roomescape.theme.infrastructure.persistence.ThemeEntity
|
||||||
|
|
||||||
@Schema(name = "테마 저장 요청", description = "테마 정보를 저장할 때 사용합니다.")
|
@Schema(name = "테마 저장 요청", description = "테마 정보를 저장할 때 사용합니다.")
|
||||||
@JvmRecord
|
@JvmRecord
|
||||||
@ -42,14 +42,14 @@ data class ThemeResponse(
|
|||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun from(theme: Theme): ThemeResponse {
|
fun from(themeEntity: ThemeEntity): ThemeResponse {
|
||||||
return ThemeResponse(theme.id, theme.name, theme.description, theme.thumbnail)
|
return ThemeResponse(themeEntity.id!!, themeEntity.name, themeEntity.description, themeEntity.thumbnail)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Theme.toResponse(): ThemeResponse = ThemeResponse(
|
fun ThemeEntity.toResponse(): ThemeResponse = ThemeResponse(
|
||||||
id = this.id,
|
id = this.id!!,
|
||||||
name = this.name,
|
name = this.name,
|
||||||
description = this.description,
|
description = this.description,
|
||||||
thumbnail = this.thumbnail
|
thumbnail = this.thumbnail
|
||||||
@ -62,3 +62,7 @@ data class ThemesResponse(
|
|||||||
@field:Schema(description = "모든 테마 목록")
|
@field:Schema(description = "모든 테마 목록")
|
||||||
val themes: List<ThemeResponse>
|
val themes: List<ThemeResponse>
|
||||||
)
|
)
|
||||||
|
|
||||||
|
fun List<ThemeEntity>.toResponse(): ThemesResponse = ThemesResponse(
|
||||||
|
themes = this.map { it.toResponse()}
|
||||||
|
)
|
||||||
|
|||||||
@ -27,7 +27,7 @@ import roomescape.reservation.domain.ReservationStatus;
|
|||||||
import roomescape.reservation.domain.ReservationTime;
|
import roomescape.reservation.domain.ReservationTime;
|
||||||
import roomescape.reservation.domain.repository.ReservationRepository;
|
import roomescape.reservation.domain.repository.ReservationRepository;
|
||||||
import roomescape.reservation.domain.repository.ReservationTimeRepository;
|
import roomescape.reservation.domain.repository.ReservationTimeRepository;
|
||||||
import roomescape.theme.infrastructure.persistence.Theme;
|
import roomescape.theme.infrastructure.persistence.ThemeEntity;
|
||||||
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
||||||
|
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
@ -57,7 +57,7 @@ class PaymentServiceTest {
|
|||||||
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));
|
Member member = memberRepository.save(new Member(null, "member", "email@email.com", "password", Role.MEMBER));
|
||||||
Theme theme = themeRepository.save(new Theme("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));
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ class PaymentServiceTest {
|
|||||||
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));
|
Member member = memberRepository.save(new Member(null, "member", "email@email.com", "password", Role.MEMBER));
|
||||||
Theme theme = themeRepository.save(new Theme("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));
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ class PaymentServiceTest {
|
|||||||
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));
|
Member member = memberRepository.save(new Member(null, "member", "email@email.com", "password", Role.MEMBER));
|
||||||
Theme theme = themeRepository.save(new Theme("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));
|
||||||
|
|
||||||
|
|||||||
@ -49,7 +49,7 @@ import roomescape.reservation.domain.repository.ReservationTimeRepository;
|
|||||||
import roomescape.reservation.dto.request.AdminReservationRequest;
|
import roomescape.reservation.dto.request.AdminReservationRequest;
|
||||||
import roomescape.reservation.dto.request.ReservationRequest;
|
import roomescape.reservation.dto.request.ReservationRequest;
|
||||||
import roomescape.reservation.dto.request.WaitingRequest;
|
import roomescape.reservation.dto.request.WaitingRequest;
|
||||||
import roomescape.theme.infrastructure.persistence.Theme;
|
import roomescape.theme.infrastructure.persistence.ThemeEntity;
|
||||||
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
||||||
|
|
||||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||||
@ -89,7 +89,7 @@ public class ReservationControllerTest {
|
|||||||
LocalDate date = LocalDate.now().plusDays(1L);
|
LocalDate date = LocalDate.now().plusDays(1L);
|
||||||
|
|
||||||
reservationTimeRepository.save(new ReservationTime(time));
|
reservationTimeRepository.save(new ReservationTime(time));
|
||||||
themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
|
|
||||||
Map<String, String> reservationParams = Map.of(
|
Map<String, String> reservationParams = Map.of(
|
||||||
"date", date.toString(),
|
"date", date.toString(),
|
||||||
@ -124,7 +124,7 @@ public class ReservationControllerTest {
|
|||||||
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)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member member1 = memberRepository.save(new Member(null, "name1", "email1r@email.com", "password", Role.MEMBER));
|
Member member1 = memberRepository.save(new Member(null, "name1", "email1r@email.com", "password", Role.MEMBER));
|
||||||
|
|
||||||
// when
|
// when
|
||||||
@ -152,7 +152,7 @@ public class ReservationControllerTest {
|
|||||||
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)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member waitingMember = memberRepository.save(
|
Member waitingMember = memberRepository.save(
|
||||||
new Member(null, "name1", "email1r@email.com", "password", Role.MEMBER));
|
new Member(null, "name1", "email1r@email.com", "password", Role.MEMBER));
|
||||||
|
|
||||||
@ -179,7 +179,7 @@ public class ReservationControllerTest {
|
|||||||
String accessTokenCookie = getAdminAccessTokenCookieByLogin("admin@admin.com", "12341234");
|
String accessTokenCookie = getAdminAccessTokenCookieByLogin("admin@admin.com", "12341234");
|
||||||
|
|
||||||
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
|
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
|
|
||||||
// when
|
// when
|
||||||
@ -208,7 +208,7 @@ public class ReservationControllerTest {
|
|||||||
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)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Reservation reservation = reservationRepository.save(
|
Reservation reservation = reservationRepository.save(
|
||||||
new Reservation(LocalDate.now(), reservationTime, theme, member, ReservationStatus.CONFIRMED));
|
new Reservation(LocalDate.now(), reservationTime, theme, member, ReservationStatus.CONFIRMED));
|
||||||
|
|
||||||
@ -228,7 +228,7 @@ public class ReservationControllerTest {
|
|||||||
String adminTokenCookie = getAdminAccessTokenCookieByLogin("admin@email.com", "password");
|
String adminTokenCookie = getAdminAccessTokenCookieByLogin("admin@email.com", "password");
|
||||||
|
|
||||||
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
|
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 30)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member confirmedMember = memberRepository.save(
|
Member confirmedMember = memberRepository.save(
|
||||||
new Member(null, "name1", "email@email.com", "password", Role.MEMBER));
|
new Member(null, "name1", "email@email.com", "password", Role.MEMBER));
|
||||||
Member waitingMember = memberRepository.save(
|
Member waitingMember = memberRepository.save(
|
||||||
@ -256,7 +256,7 @@ public class ReservationControllerTest {
|
|||||||
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)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member anotherMember = memberRepository.save(
|
Member anotherMember = memberRepository.save(
|
||||||
new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
|
|
||||||
@ -337,7 +337,7 @@ public class ReservationControllerTest {
|
|||||||
void getAllReservations(String requestURI, String responseFieldName, int expectedSize) {
|
void getAllReservations(String requestURI, String responseFieldName, int expectedSize) {
|
||||||
// given
|
// given
|
||||||
LocalDate date = LocalDate.now().plusDays(1);
|
LocalDate date = LocalDate.now().plusDays(1);
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일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)));
|
||||||
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)));
|
||||||
@ -366,7 +366,7 @@ public class ReservationControllerTest {
|
|||||||
void removeNotPaidReservation() {
|
void removeNotPaidReservation() {
|
||||||
// given
|
// given
|
||||||
LocalDate date = LocalDate.now().plusDays(1);
|
LocalDate date = LocalDate.now().plusDays(1);
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일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)));
|
||||||
String accessToken = getAdminAccessTokenCookieByLogin("admin@email.com", "password");
|
String accessToken = getAdminAccessTokenCookieByLogin("admin@email.com", "password");
|
||||||
|
|
||||||
@ -390,7 +390,7 @@ public class ReservationControllerTest {
|
|||||||
// given
|
// given
|
||||||
String accessToken = getAdminAccessTokenCookieByLogin("admin@email.com", "password");
|
String accessToken = getAdminAccessTokenCookieByLogin("admin@email.com", "password");
|
||||||
LocalDate date = LocalDate.now().plusDays(1);
|
LocalDate date = LocalDate.now().plusDays(1);
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일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));
|
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
|
|
||||||
@ -421,7 +421,7 @@ public class ReservationControllerTest {
|
|||||||
LocalDateTime localDateTime = LocalDateTime.now().minusHours(1L).withNano(0);
|
LocalDateTime localDateTime = LocalDateTime.now().minusHours(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()));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
String accessToken = getAccessTokenCookieByLogin(member.getEmail(), member.getPassword());
|
String accessToken = getAccessTokenCookieByLogin(member.getEmail(), member.getPassword());
|
||||||
|
|
||||||
@ -514,7 +514,7 @@ public class ReservationControllerTest {
|
|||||||
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()));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
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));
|
Member member1 = memberRepository.save(new Member(null, "name1", "email1@email.com", "password", Role.MEMBER));
|
||||||
|
|
||||||
@ -540,7 +540,7 @@ public class ReservationControllerTest {
|
|||||||
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()));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
|
|
||||||
String accessToken = getAdminAccessTokenCookieByLogin("admin@email.com", "password");
|
String accessToken = getAdminAccessTokenCookieByLogin("admin@email.com", "password");
|
||||||
@ -585,7 +585,7 @@ public class ReservationControllerTest {
|
|||||||
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()));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
|
|
||||||
String adminAccessToken = getAdminAccessTokenCookieByLogin("admin@email.com", "password");
|
String adminAccessToken = getAdminAccessTokenCookieByLogin("admin@email.com", "password");
|
||||||
|
|||||||
@ -29,7 +29,7 @@ import roomescape.reservation.domain.ReservationStatus;
|
|||||||
import roomescape.reservation.domain.ReservationTime;
|
import roomescape.reservation.domain.ReservationTime;
|
||||||
import roomescape.reservation.domain.repository.ReservationRepository;
|
import roomescape.reservation.domain.repository.ReservationRepository;
|
||||||
import roomescape.reservation.domain.repository.ReservationTimeRepository;
|
import roomescape.reservation.domain.repository.ReservationTimeRepository;
|
||||||
import roomescape.theme.infrastructure.persistence.Theme;
|
import roomescape.theme.infrastructure.persistence.ThemeEntity;
|
||||||
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
||||||
|
|
||||||
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
|
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
|
||||||
@ -224,7 +224,7 @@ public class ReservationTimeControllerTest {
|
|||||||
ReservationTime reservationTime1 = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 0)));
|
ReservationTime reservationTime1 = reservationTimeRepository.save(new ReservationTime(LocalTime.of(17, 0)));
|
||||||
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)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명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));
|
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
|
|
||||||
reservationRepository.save(
|
reservationRepository.save(
|
||||||
|
|||||||
@ -13,14 +13,14 @@ import org.junit.jupiter.params.provider.MethodSource;
|
|||||||
import roomescape.member.infrastructure.persistence.Member;
|
import roomescape.member.infrastructure.persistence.Member;
|
||||||
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.Theme;
|
import roomescape.theme.infrastructure.persistence.ThemeEntity;
|
||||||
|
|
||||||
public class ReservationTest {
|
public class ReservationTest {
|
||||||
|
|
||||||
@ParameterizedTest
|
@ParameterizedTest
|
||||||
@MethodSource("validateConstructorParameterBlankSource")
|
@MethodSource("validateConstructorParameterBlankSource")
|
||||||
@DisplayName("객체 생성 시, null 또는 공백이 존재하면 예외를 발생한다.")
|
@DisplayName("객체 생성 시, null 또는 공백이 존재하면 예외를 발생한다.")
|
||||||
void validateConstructorParameterBlank(LocalDate date, ReservationTime reservationTime, Theme theme,
|
void validateConstructorParameterBlank(LocalDate date, ReservationTime reservationTime, ThemeEntity theme,
|
||||||
Member member) {
|
Member member) {
|
||||||
|
|
||||||
// when & then
|
// when & then
|
||||||
@ -33,12 +33,12 @@ public class ReservationTest {
|
|||||||
return Stream.of(
|
return Stream.of(
|
||||||
Arguments.of(null,
|
Arguments.of(null,
|
||||||
new ReservationTime(LocalTime.now().plusHours(1)),
|
new ReservationTime(LocalTime.now().plusHours(1)),
|
||||||
new Theme("테마명", "설명", "썸네일URI"),
|
new ThemeEntity(null, "테마명", "설명", "썸네일URI"),
|
||||||
new Member(null, "name", "email@email.com", "password", Role.MEMBER)),
|
new Member(null, "name", "email@email.com", "password", Role.MEMBER)),
|
||||||
Arguments.of(
|
Arguments.of(
|
||||||
LocalDate.now(),
|
LocalDate.now(),
|
||||||
null,
|
null,
|
||||||
new Theme("테마명", "설명", "썸네일URI"),
|
new ThemeEntity(null, "테마명", "설명", "썸네일URI"),
|
||||||
new Member(null, "name", "email@email.com", "password", Role.MEMBER)),
|
new Member(null, "name", "email@email.com", "password", Role.MEMBER)),
|
||||||
Arguments.of(
|
Arguments.of(
|
||||||
LocalDate.now(),
|
LocalDate.now(),
|
||||||
@ -48,7 +48,7 @@ public class ReservationTest {
|
|||||||
Arguments.of(
|
Arguments.of(
|
||||||
LocalDate.now(),
|
LocalDate.now(),
|
||||||
new ReservationTime(LocalTime.now().plusHours(1)),
|
new ReservationTime(LocalTime.now().plusHours(1)),
|
||||||
new Theme("테마명", "설명", "썸네일URI"),
|
new ThemeEntity(null, "테마명", "설명", "썸네일URI"),
|
||||||
null)
|
null)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,7 +19,7 @@ import roomescape.member.infrastructure.persistence.Role;
|
|||||||
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;
|
||||||
import roomescape.theme.infrastructure.persistence.Theme;
|
import roomescape.theme.infrastructure.persistence.ThemeEntity;
|
||||||
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
||||||
|
|
||||||
@DataJpaTest
|
@DataJpaTest
|
||||||
@ -52,7 +52,7 @@ class ReservationSearchSpecificationTest {
|
|||||||
LocalDateTime dateTime = LocalDateTime.now();
|
LocalDateTime dateTime = LocalDateTime.now();
|
||||||
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
ReservationTime time = timeRepository.save(new ReservationTime(dateTime.toLocalTime()));
|
ReservationTime time = timeRepository.save(new ReservationTime(dateTime.toLocalTime()));
|
||||||
Theme theme = themeRepository.save(new Theme("name", "description", "thumbnail"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "description", "thumbnail"));
|
||||||
|
|
||||||
reservation1 = reservationRepository.save(
|
reservation1 = reservationRepository.save(
|
||||||
new Reservation(dateTime.toLocalDate(), time, theme, member, ReservationStatus.CONFIRMED));
|
new Reservation(dateTime.toLocalDate(), time, theme, member, ReservationStatus.CONFIRMED));
|
||||||
|
|||||||
@ -27,7 +27,7 @@ import roomescape.reservation.dto.request.ReservationRequest;
|
|||||||
import roomescape.reservation.dto.request.WaitingRequest;
|
import roomescape.reservation.dto.request.WaitingRequest;
|
||||||
import roomescape.reservation.dto.response.ReservationResponse;
|
import roomescape.reservation.dto.response.ReservationResponse;
|
||||||
import roomescape.common.exception.RoomescapeException;
|
import roomescape.common.exception.RoomescapeException;
|
||||||
import roomescape.theme.infrastructure.persistence.Theme;
|
import roomescape.theme.infrastructure.persistence.ThemeEntity;
|
||||||
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
||||||
import roomescape.theme.business.ThemeService;
|
import roomescape.theme.business.ThemeService;
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ class ReservationServiceTest {
|
|||||||
void reservationAlreadyExistFail() {
|
void reservationAlreadyExistFail() {
|
||||||
// given
|
// given
|
||||||
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
|
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member member1 = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
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));
|
Member member2 = memberRepository.save(new Member(null, "name2", "email2@email.com", "password", Role.MEMBER));
|
||||||
LocalDate date = LocalDate.now().plusDays(1L);
|
LocalDate date = LocalDate.now().plusDays(1L);
|
||||||
@ -74,7 +74,7 @@ class ReservationServiceTest {
|
|||||||
void requestWaitWhenAlreadyReserveFail() {
|
void requestWaitWhenAlreadyReserveFail() {
|
||||||
// given
|
// given
|
||||||
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
|
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
LocalDate date = LocalDate.now().plusDays(1L);
|
LocalDate date = LocalDate.now().plusDays(1L);
|
||||||
|
|
||||||
@ -94,7 +94,7 @@ class ReservationServiceTest {
|
|||||||
void requestWaitTwiceFail() {
|
void requestWaitTwiceFail() {
|
||||||
// given
|
// given
|
||||||
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
|
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
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));
|
Member member1 = memberRepository.save(new Member(null, "name1", "email1@email.com", "password", Role.MEMBER));
|
||||||
LocalDate date = LocalDate.now().plusDays(1L);
|
LocalDate date = LocalDate.now().plusDays(1L);
|
||||||
@ -118,7 +118,7 @@ class ReservationServiceTest {
|
|||||||
void beforeDateReservationFail() {
|
void beforeDateReservationFail() {
|
||||||
// given
|
// given
|
||||||
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
|
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
LocalDate beforeDate = LocalDate.now().minusDays(1L);
|
LocalDate beforeDate = LocalDate.now().minusDays(1L);
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ class ReservationServiceTest {
|
|||||||
// given
|
// given
|
||||||
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()));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
|
|
||||||
// when & then
|
// when & then
|
||||||
@ -151,7 +151,7 @@ class ReservationServiceTest {
|
|||||||
// given
|
// given
|
||||||
LocalDateTime beforeTime = LocalDateTime.now().minusDays(1L).withNano(0);
|
LocalDateTime beforeTime = LocalDateTime.now().minusDays(1L).withNano(0);
|
||||||
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(beforeTime.toLocalTime()));
|
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(beforeTime.toLocalTime()));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Long NotExistMemberId = 1L;
|
Long NotExistMemberId = 1L;
|
||||||
|
|
||||||
// when & then
|
// when & then
|
||||||
@ -179,7 +179,7 @@ class ReservationServiceTest {
|
|||||||
void confirmWaitingWhenReservationExist() {
|
void confirmWaitingWhenReservationExist() {
|
||||||
// given
|
// given
|
||||||
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
|
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member admin = memberRepository.save(new Member(null, "admin", "admin@email.com", "password", Role.ADMIN));
|
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 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));
|
Member member1 = memberRepository.save(new Member(null, "name1", "email1@email.com", "password", Role.MEMBER));
|
||||||
@ -202,7 +202,7 @@ class ReservationServiceTest {
|
|||||||
void approveWaiting() {
|
void approveWaiting() {
|
||||||
// given
|
// given
|
||||||
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
|
ReservationTime reservationTime = reservationTimeRepository.save(new ReservationTime(LocalTime.of(12, 30)));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member admin = memberRepository.save(new Member(null, "admin", "admin@email.com", "password", Role.ADMIN));
|
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 member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@ import roomescape.reservation.domain.repository.ReservationRepository;
|
|||||||
import roomescape.reservation.domain.repository.ReservationTimeRepository;
|
import roomescape.reservation.domain.repository.ReservationTimeRepository;
|
||||||
import roomescape.reservation.dto.request.ReservationTimeRequest;
|
import roomescape.reservation.dto.request.ReservationTimeRequest;
|
||||||
import roomescape.common.exception.RoomescapeException;
|
import roomescape.common.exception.RoomescapeException;
|
||||||
import roomescape.theme.infrastructure.persistence.Theme;
|
import roomescape.theme.infrastructure.persistence.ThemeEntity;
|
||||||
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
||||||
|
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
@ -74,7 +74,7 @@ class ReservationTimeServiceTest {
|
|||||||
LocalDateTime localDateTime = LocalDateTime.now().plusDays(1L).withNano(0);
|
LocalDateTime localDateTime = LocalDateTime.now().plusDays(1L).withNano(0);
|
||||||
ReservationTime reservationTime = reservationTimeRepository.save(
|
ReservationTime reservationTime = reservationTimeRepository.save(
|
||||||
new ReservationTime(localDateTime.toLocalTime()));
|
new ReservationTime(localDateTime.toLocalTime()));
|
||||||
Theme theme = themeRepository.save(new Theme("테마명", "설명", "썸네일URL"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "테마명", "설명", "썸네일URL"));
|
||||||
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
Member member = memberRepository.save(new Member(null, "name", "email@email.com", "password", Role.MEMBER));
|
||||||
|
|
||||||
// when
|
// when
|
||||||
|
|||||||
@ -28,7 +28,7 @@ import roomescape.reservation.domain.repository.ReservationRepository;
|
|||||||
import roomescape.reservation.domain.repository.ReservationTimeRepository;
|
import roomescape.reservation.domain.repository.ReservationTimeRepository;
|
||||||
import roomescape.reservation.dto.request.ReservationRequest;
|
import roomescape.reservation.dto.request.ReservationRequest;
|
||||||
import roomescape.reservation.dto.response.ReservationResponse;
|
import roomescape.reservation.dto.response.ReservationResponse;
|
||||||
import roomescape.theme.infrastructure.persistence.Theme;
|
import roomescape.theme.infrastructure.persistence.ThemeEntity;
|
||||||
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
||||||
|
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
@ -60,7 +60,7 @@ class ReservationWithPaymentServiceTest {
|
|||||||
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));
|
Member member = memberRepository.save(new Member(null, "member", "email@email.com", "password", Role.MEMBER));
|
||||||
Theme theme = themeRepository.save(new Theme("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");
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ class ReservationWithPaymentServiceTest {
|
|||||||
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));
|
Member member = memberRepository.save(new Member(null, "member", "admin@email.com", "password", Role.ADMIN));
|
||||||
Theme theme = themeRepository.save(new Theme("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");
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ class ReservationWithPaymentServiceTest {
|
|||||||
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));
|
Member member = memberRepository.save(new Member(null, "member", "admin@email.com", "password", Role.ADMIN));
|
||||||
Theme theme = themeRepository.save(new Theme("name", "desc", "thumbnail"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity(null, "name", "desc", "thumbnail"));
|
||||||
|
|
||||||
Reservation saved = reservationRepository.save(
|
Reservation saved = reservationRepository.save(
|
||||||
new Reservation(date, time, theme, member, ReservationStatus.CONFIRMED_PAYMENT_REQUIRED));
|
new Reservation(date, time, theme, member, ReservationStatus.CONFIRMED_PAYMENT_REQUIRED));
|
||||||
@ -146,7 +146,7 @@ class ReservationWithPaymentServiceTest {
|
|||||||
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));
|
Member member = memberRepository.save(new Member(null, "member", "admin@email.com", "password", Role.ADMIN));
|
||||||
Theme theme = themeRepository.save(new Theme("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");
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@ import roomescape.reservation.dto.response.ReservationTimeResponse;
|
|||||||
import roomescape.reservation.service.ReservationService;
|
import roomescape.reservation.service.ReservationService;
|
||||||
import roomescape.reservation.service.ReservationTimeService;
|
import roomescape.reservation.service.ReservationTimeService;
|
||||||
import roomescape.common.exception.RoomescapeException;
|
import roomescape.common.exception.RoomescapeException;
|
||||||
import roomescape.theme.infrastructure.persistence.Theme;
|
import roomescape.theme.infrastructure.persistence.ThemeEntity;
|
||||||
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
import roomescape.theme.infrastructure.persistence.ThemeRepository;
|
||||||
import roomescape.theme.web.ThemeRequest;
|
import roomescape.theme.web.ThemeRequest;
|
||||||
import roomescape.theme.web.ThemeResponse;
|
import roomescape.theme.web.ThemeResponse;
|
||||||
@ -53,10 +53,10 @@ class ThemeServiceTest {
|
|||||||
@DisplayName("테마를 조회한다.")
|
@DisplayName("테마를 조회한다.")
|
||||||
void findThemeById() {
|
void findThemeById() {
|
||||||
// given
|
// given
|
||||||
Theme theme = themeRepository.save(new Theme("name", "description", "thumbnail"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity("name", "description", "thumbnail"));
|
||||||
|
|
||||||
// when
|
// when
|
||||||
Theme foundTheme = themeService.findThemeById(theme.getId());
|
ThemeEntity foundTheme = themeService.findThemeById(theme.getId());
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertThat(foundTheme).isEqualTo(theme);
|
assertThat(foundTheme).isEqualTo(theme);
|
||||||
@ -66,7 +66,7 @@ class ThemeServiceTest {
|
|||||||
@DisplayName("존재하지 않는 ID로 테마를 조회하면 예외가 발생한다.")
|
@DisplayName("존재하지 않는 ID로 테마를 조회하면 예외가 발생한다.")
|
||||||
void findThemeByNotExistId() {
|
void findThemeByNotExistId() {
|
||||||
// given
|
// given
|
||||||
Theme theme = themeRepository.save(new Theme("name", "description", "thumbnail"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity("name", "description", "thumbnail"));
|
||||||
|
|
||||||
// when
|
// when
|
||||||
Long notExistId = theme.getId() + 1;
|
Long notExistId = theme.getId() + 1;
|
||||||
@ -80,8 +80,8 @@ class ThemeServiceTest {
|
|||||||
@DisplayName("모든 테마를 조회한다.")
|
@DisplayName("모든 테마를 조회한다.")
|
||||||
void findAllThemes() {
|
void findAllThemes() {
|
||||||
// given
|
// given
|
||||||
Theme theme = themeRepository.save(new Theme("name", "description", "thumbnail"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity("name", "description", "thumbnail"));
|
||||||
Theme theme1 = themeRepository.save(new Theme("name1", "description1", "thumbnail1"));
|
ThemeEntity theme1 = themeRepository.save(new ThemeEntity("name1", "description1", "thumbnail1"));
|
||||||
|
|
||||||
// when
|
// when
|
||||||
ThemesResponse found = themeService.findAllThemes();
|
ThemesResponse found = themeService.findAllThemes();
|
||||||
@ -111,7 +111,7 @@ class ThemeServiceTest {
|
|||||||
ThemeResponse themeResponse = themeService.addTheme(new ThemeRequest("name", "description", "thumbnail"));
|
ThemeResponse themeResponse = themeService.addTheme(new ThemeRequest("name", "description", "thumbnail"));
|
||||||
|
|
||||||
// when
|
// when
|
||||||
Theme found = themeRepository.findById(themeResponse.id()).orElse(null);
|
ThemeEntity found = themeRepository.findById(themeResponse.id()).orElse(null);
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertThat(found).isNotNull();
|
assertThat(found).isNotNull();
|
||||||
@ -135,7 +135,7 @@ class ThemeServiceTest {
|
|||||||
@DisplayName("테마를 삭제한다.")
|
@DisplayName("테마를 삭제한다.")
|
||||||
void removeThemeById() {
|
void removeThemeById() {
|
||||||
// given
|
// given
|
||||||
Theme theme = themeRepository.save(new Theme("name", "description", "thumbnail"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity("name", "description", "thumbnail"));
|
||||||
|
|
||||||
// when
|
// when
|
||||||
themeService.removeThemeById(theme.getId());
|
themeService.removeThemeById(theme.getId());
|
||||||
@ -151,7 +151,7 @@ class ThemeServiceTest {
|
|||||||
LocalDateTime dateTime = LocalDateTime.now().plusDays(1);
|
LocalDateTime dateTime = LocalDateTime.now().plusDays(1);
|
||||||
ReservationTimeResponse time = reservationTimeService.addTime(
|
ReservationTimeResponse time = reservationTimeService.addTime(
|
||||||
new ReservationTimeRequest(dateTime.toLocalTime()));
|
new ReservationTimeRequest(dateTime.toLocalTime()));
|
||||||
Theme theme = themeRepository.save(new Theme("name", "description", "thumbnail"));
|
ThemeEntity theme = themeRepository.save(new ThemeEntity("name", "description", "thumbnail"));
|
||||||
Member member = memberRepository.save(new Member(null, "member", "password", "name", Role.MEMBER));
|
Member member = memberRepository.save(new Member(null, "member", "password", "name", Role.MEMBER));
|
||||||
reservationService.addReservation(
|
reservationService.addReservation(
|
||||||
new ReservationRequest(dateTime.toLocalDate(), time.id(), theme.getId(), "paymentKey", "orderId", 1000L,
|
new ReservationRequest(dateTime.toLocalDate(), time.id(), theme.getId(), "paymentKey", "orderId", 1000L,
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import jakarta.persistence.EntityManager
|
|||||||
import roomescape.member.infrastructure.persistence.Member
|
import roomescape.member.infrastructure.persistence.Member
|
||||||
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.Theme
|
import roomescape.theme.infrastructure.persistence.ThemeEntity
|
||||||
import roomescape.util.MemberFixture
|
import roomescape.util.MemberFixture
|
||||||
import roomescape.util.ReservationFixture
|
import roomescape.util.ReservationFixture
|
||||||
import roomescape.util.ReservationTimeFixture
|
import roomescape.util.ReservationTimeFixture
|
||||||
@ -18,8 +18,8 @@ object TestThemeCreateUtil {
|
|||||||
name: String,
|
name: String,
|
||||||
reservedCount: Int,
|
reservedCount: Int,
|
||||||
date: LocalDate,
|
date: LocalDate,
|
||||||
): Long {
|
): ThemeEntity {
|
||||||
val theme: Theme = 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: Member = MemberFixture.create().also { entityManager.persist(it) }
|
||||||
|
|
||||||
for (i in 1..reservedCount) {
|
for (i in 1..reservedCount) {
|
||||||
@ -29,7 +29,7 @@ object TestThemeCreateUtil {
|
|||||||
|
|
||||||
ReservationFixture.create(
|
ReservationFixture.create(
|
||||||
date = date,
|
date = date,
|
||||||
theme = theme,
|
themeEntity = themeEntity,
|
||||||
member = member,
|
member = member,
|
||||||
reservationTime = time,
|
reservationTime = time,
|
||||||
status = ReservationStatus.CONFIRMED
|
status = ReservationStatus.CONFIRMED
|
||||||
@ -39,6 +39,6 @@ object TestThemeCreateUtil {
|
|||||||
entityManager.flush()
|
entityManager.flush()
|
||||||
entityManager.clear()
|
entityManager.clear()
|
||||||
|
|
||||||
return theme.id
|
return themeEntity
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,7 +11,7 @@ import roomescape.payment.web.PaymentCancel
|
|||||||
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
|
||||||
import roomescape.theme.infrastructure.persistence.Theme
|
import roomescape.theme.infrastructure.persistence.ThemeEntity
|
||||||
import java.time.LocalDate
|
import java.time.LocalDate
|
||||||
import java.time.LocalTime
|
import java.time.LocalTime
|
||||||
import java.time.OffsetDateTime
|
import java.time.OffsetDateTime
|
||||||
@ -62,18 +62,18 @@ object ThemeFixture {
|
|||||||
name: String = "Default Theme",
|
name: String = "Default Theme",
|
||||||
description: String = "Default Description",
|
description: String = "Default Description",
|
||||||
thumbnail: String = "https://example.com/default-thumbnail.jpg"
|
thumbnail: String = "https://example.com/default-thumbnail.jpg"
|
||||||
): Theme = Theme(id, name, description, thumbnail)
|
): ThemeEntity = ThemeEntity(id, name, description, thumbnail)
|
||||||
}
|
}
|
||||||
|
|
||||||
object ReservationFixture {
|
object ReservationFixture {
|
||||||
fun create(
|
fun create(
|
||||||
id: Long? = null,
|
id: Long? = null,
|
||||||
date: LocalDate = LocalDate.now().plusWeeks(1),
|
date: LocalDate = LocalDate.now().plusWeeks(1),
|
||||||
theme: Theme = ThemeFixture.create(),
|
themeEntity: ThemeEntity = ThemeFixture.create(),
|
||||||
reservationTime: ReservationTime = ReservationTimeFixture.create(),
|
reservationTime: ReservationTime = ReservationTimeFixture.create(),
|
||||||
member: Member = MemberFixture.create(),
|
member: Member = MemberFixture.create(),
|
||||||
status: ReservationStatus = ReservationStatus.CONFIRMED_PAYMENT_REQUIRED
|
status: ReservationStatus = ReservationStatus.CONFIRMED_PAYMENT_REQUIRED
|
||||||
): Reservation = Reservation(id, date, reservationTime, theme, member, status)
|
): Reservation = Reservation(id, date, reservationTime, themeEntity, member, status)
|
||||||
}
|
}
|
||||||
|
|
||||||
object JwtFixture {
|
object JwtFixture {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user