fix: 오타 수정

This commit is contained in:
이상진 2025-08-06 18:52:51 +09:00
parent d1772dfcc5
commit 7b059fc92f
3 changed files with 20 additions and 13 deletions

View File

@ -22,25 +22,26 @@ private val log: KLogger = KotlinLogging.logger {}
class ReservationValidator(
private val reservationRepository: ReservationRepository,
) {
fun validateIsNotPast(
fun validateIsPast(
requestDate: LocalDate,
requestTime: LocalTime,
) {
val now = LocalDateTime.now()
val requestDateTime = LocalDateTime.of(requestDate, requestTime)
log.debug { "[ReservationValidator.validateDateAndTime] 시작. request=$requestDateTime, now=$now" }
log.debug { "[ReservationValidator.validateIsPast] 시작. request=$requestDateTime, now=$now" }
if (requestDateTime.isBefore(now)) {
log.info { "[ReservationValidator.validateDateAndTime] 날짜 범위 오류. request=$requestDateTime, now=$now" }
log.info { "[ReservationValidator.validateIsPast] 날짜 범위 오류. request=$requestDateTime, now=$now" }
throw ReservationException(ReservationErrorCode.PAST_REQUEST_DATETIME)
}
log.debug { "[ReservationValidator.validateDateAndTime] 완료. request=$requestDateTime, now=$now" }
log.debug { "[ReservationValidator.validateIsPast] 완료. request=$requestDateTime, now=$now" }
}
fun validateSearchDateRange(startFrom: LocalDate?, endAt: LocalDate?) {
log.debug { "[ReservationValidator.validateSearchDateRange] 시작: startFrom=$startFrom, endAt=$endAt" }
if (startFrom == null || endAt == null) {
log.debug { "[ReservationValidator.validateSearchDateRange] 완료: startFrom=$startFrom, endAt=$endAt" }
return
}
if (startFrom.isAfter(endAt)) {
@ -129,4 +130,15 @@ class ReservationValidator(
log.debug { "[ReservationValidator.validateDeleteAuthority] 완료: reservationId=${reservation.id}, requesterId=$requesterId" }
}
fun validateAlreadyConfirmed(reservationId: Long) {
log.debug { "[ReservationValidator.validateAlreadyConfirmed] 시작: reservationId=$reservationId" }
if (reservationRepository.isExistConfirmedReservation(reservationId)) {
log.warn { "[ReservationWriter.confirm] 이미 확정된 예약: reservationId=$reservationId" }
throw ReservationException(ReservationErrorCode.CONFIRMED_RESERVATION_ALREADY_EXISTS)
}
log.debug { "[ReservationValidator.validateAlreadyConfirmed] 완료: reservationId=$reservationId" }
}
}

View File

@ -39,7 +39,7 @@ class ReservationWriter(
"date=${date}, timeId=${timeId}, themeId=${themeId}, memberId=${memberId}, status=${status}"
}
val time = timeFinder.findById(timeId).also {
reservationValidator.validateIsNotPast(date, it.startAt)
reservationValidator.validateIsPast(date, it.startAt)
}
val theme = themeFinder.findById(themeId)
@ -95,14 +95,9 @@ class ReservationWriter(
fun confirm(reservationId: Long) {
log.debug { "[ReservationWriter.confirm] 대기 여부 확인 시작: reservationId=$reservationId" }
if (reservationRepository.isExistConfirmedReservation(reservationId)) {
log.warn { "[ReservationWriter.confirm] 이미 확정된 예약 존재: reservationId=$reservationId" }
throw ReservationException(ReservationErrorCode.CONFIRMED_RESERVATION_ALREADY_EXISTS)
}
reservationValidator.validateAlreadyConfirmed(reservationId)
reservationRepository.updateStatusByReservationId(
reservationId, ReservationStatus.CONFIRMED_PAYMENT_REQUIRED
)
reservationRepository.updateStatusByReservationId(reservationId, ReservationStatus.CONFIRMED_PAYMENT_REQUIRED)
log.debug { "[ReservationWriter.confirm] 완료: reservationId=$reservationId, status=${ReservationStatus.CONFIRMED_PAYMENT_REQUIRED}" }
}

View File

@ -34,7 +34,7 @@ class TimeFinderTest : FunSpec({
timeRepository.findAll()
} returns listOf(mockk(), mockk(), mockk())
timeRepository.findAll() shouldHaveSize 3
timeFinder.findAll() shouldHaveSize 3
}
}