diff --git a/src/main/kotlin/roomescape/reservation/business/ReservationService.kt b/src/main/kotlin/roomescape/reservation/business/ReservationService.kt index 4b4b6f6f..d487d2cf 100644 --- a/src/main/kotlin/roomescape/reservation/business/ReservationService.kt +++ b/src/main/kotlin/roomescape/reservation/business/ReservationService.kt @@ -94,7 +94,10 @@ class ReservationService( fun findUserSummaryReservation(user: CurrentUserContext): ReservationSummaryRetrieveListResponse { log.info { "[ReservationService.findSummaryByMemberId] 예약 조회 시작: userId=${user.id}" } - val reservations: List = reservationRepository.findAllByUserId(user.id) + val reservations: List = reservationRepository.findAllByUserIdAndStatusIsIn( + userId = user.id, + statuses = listOf(ReservationStatus.CONFIRMED, ReservationStatus.CANCELED) + ) return ReservationSummaryRetrieveListResponse(reservations.map { val schedule: ScheduleSummaryResponse = scheduleService.findSummaryById(it.scheduleId) diff --git a/src/main/kotlin/roomescape/reservation/infrastructure/persistence/ReservationRepository.kt b/src/main/kotlin/roomescape/reservation/infrastructure/persistence/ReservationRepository.kt index d3417f45..08bac9f6 100644 --- a/src/main/kotlin/roomescape/reservation/infrastructure/persistence/ReservationRepository.kt +++ b/src/main/kotlin/roomescape/reservation/infrastructure/persistence/ReservationRepository.kt @@ -7,7 +7,7 @@ import java.time.LocalDate interface ReservationRepository : JpaRepository { - fun findAllByUserId(userId: Long): List + fun findAllByUserIdAndStatusIsIn(userId: Long, statuses: List): List @Query(""" SELECT s.themeId diff --git a/src/test/kotlin/roomescape/reservation/ReservationApiTest.kt b/src/test/kotlin/roomescape/reservation/ReservationApiTest.kt index ca8d073b..b3080179 100644 --- a/src/test/kotlin/roomescape/reservation/ReservationApiTest.kt +++ b/src/test/kotlin/roomescape/reservation/ReservationApiTest.kt @@ -388,6 +388,17 @@ class ReservationApiTest( ) } + // PENDING 예약은 조회되지 않음. + dummyInitializer.createPendingReservation( + adminToken = adminToken, + reserverToken = userToken, + themeRequest = ThemeFixture.createRequest.copy(name = "theme-$4"), + scheduleRequest = ScheduleFixture.createRequest.copy( + date = LocalDate.now().plusDays(1), + time = LocalTime.now() + ) + ) + runTest( token = userToken, on = {