diff --git a/src/test/kotlin/roomescape/supports/DummyInitializer.kt b/src/test/kotlin/roomescape/supports/DummyInitializer.kt index 300af25b..4d20cc05 100644 --- a/src/test/kotlin/roomescape/supports/DummyInitializer.kt +++ b/src/test/kotlin/roomescape/supports/DummyInitializer.kt @@ -94,16 +94,26 @@ class DummyInitializer( scheduleRequest: ScheduleCreateRequest = ScheduleFixture.createRequest, reservationRequest: PendingReservationCreateRequest = ReservationFixture.pendingCreateRequest, ): ReservationEntity { - val themeId: Long = createTheme( - adminToken = adminToken, - request = themeRequest - ).id + val themeId: Long = if (scheduleRequest.themeId > 1) { + scheduleRequest.themeId + } else if (reservationRequest.scheduleId > 1) { + scheduleRepository.findByIdOrNull(reservationRequest.scheduleId)!!.themeId + } else { + createTheme( + adminToken = adminToken, + request = themeRequest + ).id + } - val scheduleId: Long = createSchedule( - adminToken = adminToken, - request = scheduleRequest.copy(themeId = themeId), - status = ScheduleStatus.HOLD - ).id + val scheduleId: Long = if (reservationRequest.scheduleId > 1) { + reservationRequest.scheduleId + } else { + createSchedule( + adminToken = adminToken, + request = scheduleRequest.copy(themeId = themeId), + status = ScheduleStatus.HOLD + ).id + } return createPendingReservation( reserverToken = reserverToken, @@ -118,20 +128,30 @@ class DummyInitializer( scheduleRequest: ScheduleCreateRequest = ScheduleFixture.createRequest, reservationRequest: PendingReservationCreateRequest = ReservationFixture.pendingCreateRequest, ): ReservationEntity { - val themeId: Long = createTheme( - adminToken = adminToken, - request = themeRequest - ).id + val themeId: Long = if (scheduleRequest.themeId > 1) { + scheduleRequest.themeId + } else if (reservationRequest.scheduleId > 1) { + scheduleRepository.findByIdOrNull(reservationRequest.scheduleId)!!.themeId + } else { + createTheme( + adminToken = adminToken, + request = themeRequest + ).id + } - val schedule: ScheduleEntity = createSchedule( - adminToken = adminToken, - request = scheduleRequest.copy(themeId = themeId), - status = ScheduleStatus.HOLD - ) + val scheduleId: Long = if (reservationRequest.scheduleId > 1) { + reservationRequest.scheduleId + } else { + createSchedule( + adminToken = adminToken, + request = scheduleRequest.copy(themeId = themeId), + status = ScheduleStatus.HOLD + ).id + } val reservation = createPendingReservation( reserverToken = reserverToken, - request = reservationRequest.copy(scheduleId = schedule.id) + request = reservationRequest.copy(scheduleId = scheduleId) ) Given {