generated from pricelees/issue-pr-template
refactor: 전체 컨트롤러 메서드 컨벤션 통일
This commit is contained in:
parent
6713ae4350
commit
85328021a7
@ -16,7 +16,7 @@ import roomescape.member.web.toRetrieveResponse
|
||||
class MemberService(
|
||||
private val memberRepository: MemberRepository
|
||||
) {
|
||||
fun findAll(): MemberRetrieveListResponse = MemberRetrieveListResponse(
|
||||
fun findMembers(): MemberRetrieveListResponse = MemberRetrieveListResponse(
|
||||
memberRepository.findAll()
|
||||
.map { it.toRetrieveResponse() }
|
||||
.toList()
|
||||
|
||||
@ -20,5 +20,5 @@ interface MemberAPI {
|
||||
useReturnTypeSchema = true
|
||||
)
|
||||
)
|
||||
fun findAll(): ResponseEntity<CommonApiResponse<MemberRetrieveListResponse>>
|
||||
fun findMembers(): ResponseEntity<CommonApiResponse<MemberRetrieveListResponse>>
|
||||
}
|
||||
|
||||
@ -13,8 +13,8 @@ class MemberController(
|
||||
) : MemberAPI {
|
||||
|
||||
@GetMapping("/members")
|
||||
override fun findAll(): ResponseEntity<CommonApiResponse<MemberRetrieveListResponse>> {
|
||||
val response: MemberRetrieveListResponse = memberService.findAll()
|
||||
override fun findMembers(): ResponseEntity<CommonApiResponse<MemberRetrieveListResponse>> {
|
||||
val response: MemberRetrieveListResponse = memberService.findMembers()
|
||||
|
||||
return ResponseEntity.ok(CommonApiResponse(response))
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@ class TossPaymentClient(
|
||||
|
||||
private val tossPaymentClient: RestClient = tossPaymentClientBuilder.build()
|
||||
|
||||
fun confirmPayment(paymentRequest: PaymentApproveRequest): PaymentApproveResponse {
|
||||
fun confirm(paymentRequest: PaymentApproveRequest): PaymentApproveResponse {
|
||||
logPaymentInfo(paymentRequest)
|
||||
|
||||
return tossPaymentClient.post()
|
||||
@ -46,7 +46,7 @@ class TossPaymentClient(
|
||||
?: throw RoomescapeException(ErrorType.PAYMENT_SERVER_ERROR, HttpStatus.INTERNAL_SERVER_ERROR)
|
||||
}
|
||||
|
||||
fun cancelPayment(cancelRequest: PaymentCancelRequest): PaymentCancelResponse {
|
||||
fun cancel(cancelRequest: PaymentCancelRequest): PaymentCancelResponse {
|
||||
logPaymentCancelInfo(cancelRequest)
|
||||
val param = Map.of<String, String>("cancelReason", cancelRequest.cancelReason)
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ class ReservationService(
|
||||
) {
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
fun findAllReservations(): ReservationRetrieveListResponse {
|
||||
fun findReservations(): ReservationRetrieveListResponse {
|
||||
val spec: Specification<ReservationEntity> = ReservationSearchSpecification()
|
||||
.confirmed()
|
||||
.build()
|
||||
@ -46,7 +46,7 @@ class ReservationService(
|
||||
return reservationRepository.findAll(spec).map { it.toRetrieveResponse() }
|
||||
}
|
||||
|
||||
fun removeReservationById(reservationId: Long, memberId: Long) {
|
||||
fun deleteReservation(reservationId: Long, memberId: Long) {
|
||||
validateIsMemberAdmin(memberId)
|
||||
reservationRepository.deleteById(reservationId)
|
||||
}
|
||||
@ -64,7 +64,7 @@ class ReservationService(
|
||||
}
|
||||
}
|
||||
|
||||
fun addReservationByAdmin(request: AdminReservationCreateRequest): ReservationRetrieveResponse {
|
||||
fun createReservationByAdmin(request: AdminReservationCreateRequest): ReservationRetrieveResponse {
|
||||
validateIsReservationExist(request.themeId, request.timeId, request.date)
|
||||
|
||||
return addReservationWithoutPayment(
|
||||
@ -76,7 +76,7 @@ class ReservationService(
|
||||
)
|
||||
}
|
||||
|
||||
fun addWaiting(request: WaitingCreateRequest, memberId: Long): ReservationRetrieveResponse {
|
||||
fun createWaiting(request: WaitingCreateRequest, memberId: Long): ReservationRetrieveResponse {
|
||||
validateMemberAlreadyReserve(request.themeId, request.timeId, request.date, memberId)
|
||||
return addReservationWithoutPayment(
|
||||
request.themeId,
|
||||
@ -163,7 +163,7 @@ class ReservationService(
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
fun findFilteredReservations(
|
||||
fun searchReservations(
|
||||
themeId: Long?,
|
||||
memberId: Long?,
|
||||
dateFrom: LocalDate?,
|
||||
@ -194,11 +194,11 @@ class ReservationService(
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
fun findMemberReservations(memberId: Long): MyReservationRetrieveListResponse {
|
||||
return MyReservationRetrieveListResponse(reservationRepository.findMyReservations(memberId))
|
||||
fun findReservationsByMemberId(memberId: Long): MyReservationRetrieveListResponse {
|
||||
return MyReservationRetrieveListResponse(reservationRepository.findAllById(memberId))
|
||||
}
|
||||
|
||||
fun approveWaiting(reservationId: Long, memberId: Long) {
|
||||
fun confirmWaiting(reservationId: Long, memberId: Long) {
|
||||
validateIsMemberAdmin(memberId)
|
||||
if (reservationRepository.isExistConfirmedReservation(reservationId)) {
|
||||
throw RoomescapeException(ErrorType.RESERVATION_DUPLICATED, HttpStatus.CONFLICT)
|
||||
@ -206,7 +206,7 @@ class ReservationService(
|
||||
reservationRepository.updateStatusByReservationId(reservationId, ReservationStatus.CONFIRMED_PAYMENT_REQUIRED)
|
||||
}
|
||||
|
||||
fun cancelWaiting(reservationId: Long, memberId: Long) {
|
||||
fun deleteWaiting(reservationId: Long, memberId: Long) {
|
||||
reservationRepository.findByIdOrNull(reservationId)?.takeIf {
|
||||
it.isWaiting() && it.isSameMember(memberId)
|
||||
}?.let {
|
||||
@ -214,7 +214,7 @@ class ReservationService(
|
||||
} ?: throw throwReservationNotFound(reservationId)
|
||||
}
|
||||
|
||||
fun denyWaiting(reservationId: Long, memberId: Long) {
|
||||
fun rejectWaiting(reservationId: Long, memberId: Long) {
|
||||
validateIsMemberAdmin(memberId)
|
||||
reservationRepository.findByIdOrNull(reservationId)?.takeIf {
|
||||
it.isWaiting()
|
||||
|
||||
@ -17,7 +17,7 @@ class ReservationWithPaymentService(
|
||||
private val reservationService: ReservationService,
|
||||
private val paymentService: PaymentService
|
||||
) {
|
||||
fun addReservationWithPayment(
|
||||
fun createReservationAndPayment(
|
||||
request: ReservationCreateWithPaymentRequest,
|
||||
paymentInfo: PaymentApproveResponse,
|
||||
memberId: Long
|
||||
@ -28,7 +28,7 @@ class ReservationWithPaymentService(
|
||||
.reservation
|
||||
}
|
||||
|
||||
fun saveCanceledPayment(
|
||||
fun createCanceledPayment(
|
||||
cancelInfo: PaymentCancelResponse,
|
||||
approvedAt: OffsetDateTime,
|
||||
paymentKey: String
|
||||
@ -36,12 +36,12 @@ class ReservationWithPaymentService(
|
||||
paymentService.createCanceledPayment(cancelInfo, approvedAt, paymentKey)
|
||||
}
|
||||
|
||||
fun removeReservationWithPayment(
|
||||
fun deleteReservationAndPayment(
|
||||
reservationId: Long,
|
||||
memberId: Long
|
||||
): PaymentCancelRequest {
|
||||
val paymentCancelRequest = paymentService.createCanceledPaymentByReservationId(reservationId)
|
||||
reservationService.removeReservationById(reservationId, memberId)
|
||||
reservationService.deleteReservation(reservationId, memberId)
|
||||
|
||||
return paymentCancelRequest
|
||||
}
|
||||
|
||||
@ -28,10 +28,10 @@ class TimeService(
|
||||
)
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
fun findAll(): TimeRetrieveListResponse = timeRepository.findAll().toRetrieveListResponse()
|
||||
fun findTimes(): TimeRetrieveListResponse = timeRepository.findAll().toRetrieveListResponse()
|
||||
|
||||
@Transactional
|
||||
fun create(timeCreateRequest: TimeCreateRequest): TimeCreateResponse {
|
||||
fun createTime(timeCreateRequest: TimeCreateRequest): TimeCreateResponse {
|
||||
val startAt: LocalTime = timeCreateRequest.startAt
|
||||
|
||||
if (timeRepository.existsByStartAt(startAt)) {
|
||||
@ -46,7 +46,7 @@ class TimeService(
|
||||
}
|
||||
|
||||
@Transactional
|
||||
fun deleteById(id: Long) {
|
||||
fun deleteTime(id: Long) {
|
||||
val time: TimeEntity = findById(id)
|
||||
reservationRepository.findByTime(time)
|
||||
.also {
|
||||
@ -60,7 +60,7 @@ class TimeService(
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
fun findAllWithAvailability(date: LocalDate, themeId: Long): TimeWithAvailabilityListResponse {
|
||||
fun findTimesWithAvailability(date: LocalDate, themeId: Long): TimeWithAvailabilityListResponse {
|
||||
val allTimes = timeRepository.findAll()
|
||||
val reservations: List<ReservationEntity> = reservationRepository.findByDateAndThemeId(date, themeId)
|
||||
|
||||
|
||||
@ -26,12 +26,12 @@ interface ReservationAPI {
|
||||
@Admin
|
||||
@Operation(summary = "모든 예약 정보 조회", tags = ["관리자 로그인이 필요한 API"])
|
||||
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
|
||||
fun getAllReservations(): ResponseEntity<CommonApiResponse<ReservationRetrieveListResponse>>
|
||||
fun findReservations(): ResponseEntity<CommonApiResponse<ReservationRetrieveListResponse>>
|
||||
|
||||
@LoginRequired
|
||||
@Operation(summary = "자신의 예약 및 대기 조회", tags = ["로그인이 필요한 API"])
|
||||
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
|
||||
fun getMemberReservations(
|
||||
fun findReservationsByMemberId(
|
||||
@MemberId @Parameter(hidden = true) memberId: Long
|
||||
): ResponseEntity<CommonApiResponse<MyReservationRetrieveListResponse>>
|
||||
|
||||
@ -40,7 +40,7 @@ interface ReservationAPI {
|
||||
@ApiResponses(
|
||||
ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true)
|
||||
)
|
||||
fun getReservationBySearching(
|
||||
fun searchReservations(
|
||||
@RequestParam(required = false) themeId: Long?,
|
||||
@RequestParam(required = false) memberId: Long?,
|
||||
@RequestParam(required = false) dateFrom: LocalDate?,
|
||||
@ -52,7 +52,7 @@ interface ReservationAPI {
|
||||
@ApiResponses(
|
||||
ApiResponse(responseCode = "204", description = "성공"),
|
||||
)
|
||||
fun removeReservation(
|
||||
fun cancelReservationByAdmin(
|
||||
@MemberId @Parameter(hidden = true) memberId: Long,
|
||||
@PathVariable("id") reservationId: Long
|
||||
): ResponseEntity<CommonApiResponse<Unit>>
|
||||
@ -67,7 +67,7 @@ interface ReservationAPI {
|
||||
headers = [Header(name = HttpHeaders.LOCATION, description = "생성된 예약 정보 URL", schema = Schema(example = "/reservations/1"))]
|
||||
)
|
||||
)
|
||||
fun saveReservation(
|
||||
fun createReservationWithPayment(
|
||||
@Valid @RequestBody reservationCreateWithPaymentRequest: ReservationCreateWithPaymentRequest,
|
||||
@MemberId @Parameter(hidden = true) memberId: Long
|
||||
): ResponseEntity<CommonApiResponse<ReservationRetrieveResponse>>
|
||||
@ -82,14 +82,14 @@ interface ReservationAPI {
|
||||
headers = [Header(name = HttpHeaders.LOCATION, description = "생성된 예약 정보 URL", schema = Schema(example = "/reservations/1"))],
|
||||
)
|
||||
)
|
||||
fun saveReservationByAdmin(
|
||||
fun createReservationByAdmin(
|
||||
@Valid @RequestBody adminReservationRequest: AdminReservationCreateRequest,
|
||||
): ResponseEntity<CommonApiResponse<ReservationRetrieveResponse>>
|
||||
|
||||
@Admin
|
||||
@Operation(summary = "모든 예약 대기 조회", tags = ["관리자 로그인이 필요한 API"])
|
||||
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
|
||||
fun getAllWaiting(): ResponseEntity<CommonApiResponse<ReservationRetrieveListResponse>>
|
||||
fun findAllWaiting(): ResponseEntity<CommonApiResponse<ReservationRetrieveListResponse>>
|
||||
|
||||
@LoginRequired
|
||||
@Operation(summary = "예약 대기 신청", tags = ["로그인이 필요한 API"])
|
||||
@ -101,7 +101,7 @@ interface ReservationAPI {
|
||||
headers = [Header(name = HttpHeaders.LOCATION, description = "생성된 예약 정보 URL", schema = Schema(example = "/reservations/1"))]
|
||||
)
|
||||
)
|
||||
fun saveWaiting(
|
||||
fun createWaiting(
|
||||
@Valid @RequestBody waitingCreateRequest: WaitingCreateRequest,
|
||||
@MemberId @Parameter(hidden = true) memberId: Long,
|
||||
): ResponseEntity<CommonApiResponse<ReservationRetrieveResponse>>
|
||||
@ -111,7 +111,7 @@ interface ReservationAPI {
|
||||
@ApiResponses(
|
||||
ApiResponse(responseCode = "204", description = "성공"),
|
||||
)
|
||||
fun deleteWaiting(
|
||||
fun cancelWaitingByMember(
|
||||
@MemberId @Parameter(hidden = true) memberId: Long,
|
||||
@PathVariable("id") @Parameter(description = "예약 ID") reservationId: Long
|
||||
): ResponseEntity<CommonApiResponse<Unit>>
|
||||
@ -121,7 +121,7 @@ interface ReservationAPI {
|
||||
@ApiResponses(
|
||||
ApiResponse(responseCode = "200", description = "성공"),
|
||||
)
|
||||
fun approveWaiting(
|
||||
fun confirmWaiting(
|
||||
@MemberId @Parameter(hidden = true) memberId: Long,
|
||||
@PathVariable("id") @Parameter(description = "예약 ID") reservationId: Long
|
||||
): ResponseEntity<CommonApiResponse<Unit>>
|
||||
@ -131,7 +131,7 @@ interface ReservationAPI {
|
||||
@ApiResponses(
|
||||
ApiResponse(responseCode = "204", description = "대기 중인 예약 거절 성공"),
|
||||
)
|
||||
fun denyWaiting(
|
||||
fun rejectWaiting(
|
||||
@MemberId @Parameter(hidden = true) memberId: Long,
|
||||
@PathVariable("id") @Parameter(description = "예약 ID") reservationId: Long
|
||||
): ResponseEntity<CommonApiResponse<Unit>>
|
||||
|
||||
@ -24,26 +24,26 @@ interface TimeAPI {
|
||||
@Admin
|
||||
@Operation(summary = "모든 시간 조회", tags = ["관리자 로그인이 필요한 API"])
|
||||
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
|
||||
fun findAll(): ResponseEntity<CommonApiResponse<TimeRetrieveListResponse>>
|
||||
fun findTimes(): ResponseEntity<CommonApiResponse<TimeRetrieveListResponse>>
|
||||
|
||||
@Admin
|
||||
@Operation(summary = "시간 추가", tags = ["관리자 로그인이 필요한 API"])
|
||||
@ApiResponses(ApiResponse(responseCode = "201", description = "성공", useReturnTypeSchema = true))
|
||||
fun create(
|
||||
fun createTime(
|
||||
@Valid @RequestBody timeCreateRequest: TimeCreateRequest,
|
||||
): ResponseEntity<CommonApiResponse<TimeCreateResponse>>
|
||||
|
||||
@Admin
|
||||
@Operation(summary = "시간 삭제", tags = ["관리자 로그인이 필요한 API"])
|
||||
@ApiResponses(ApiResponse(responseCode = "204", description = "성공", useReturnTypeSchema = true))
|
||||
fun deleteById(
|
||||
fun deleteTime(
|
||||
@PathVariable id: Long
|
||||
): ResponseEntity<CommonApiResponse<Unit>>
|
||||
|
||||
@LoginRequired
|
||||
@Operation(summary = "예약 가능 여부를 포함한 모든 시간 조회", tags = ["로그인이 필요한 API"])
|
||||
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
|
||||
fun findAllWithAvailability(
|
||||
fun findTimesWithAvailability(
|
||||
@RequestParam date: LocalDate,
|
||||
@RequestParam themeId: Long
|
||||
): ResponseEntity<CommonApiResponse<TimeWithAvailabilityListResponse>>
|
||||
|
||||
@ -58,5 +58,5 @@ interface ReservationRepository
|
||||
ON p.reservation = r
|
||||
WHERE r.member.id = :memberId
|
||||
""")
|
||||
fun findMyReservations(memberId: Long): List<MyReservationRetrieveResponse>
|
||||
fun findAllById(memberId: Long): List<MyReservationRetrieveResponse>
|
||||
}
|
||||
|
||||
@ -24,46 +24,50 @@ class ReservationController(
|
||||
private val paymentClient: TossPaymentClient
|
||||
) : ReservationAPI {
|
||||
@GetMapping("/reservations")
|
||||
override fun getAllReservations(): ResponseEntity<CommonApiResponse<ReservationRetrieveListResponse>> {
|
||||
val response: ReservationRetrieveListResponse = reservationService.findAllReservations()
|
||||
override fun findReservations(): ResponseEntity<CommonApiResponse<ReservationRetrieveListResponse>> {
|
||||
val response: ReservationRetrieveListResponse = reservationService.findReservations()
|
||||
|
||||
return ResponseEntity.ok(CommonApiResponse(response))
|
||||
}
|
||||
|
||||
@GetMapping("/reservations-mine")
|
||||
override fun getMemberReservations(
|
||||
override fun findReservationsByMemberId(
|
||||
@MemberId @Parameter(hidden = true) memberId: Long
|
||||
): ResponseEntity<CommonApiResponse<MyReservationRetrieveListResponse>> {
|
||||
val response: MyReservationRetrieveListResponse = reservationService.findMemberReservations(memberId)
|
||||
val response: MyReservationRetrieveListResponse = reservationService.findReservationsByMemberId(memberId)
|
||||
|
||||
return ResponseEntity.ok(CommonApiResponse(response))
|
||||
}
|
||||
|
||||
@GetMapping("/reservations/search")
|
||||
override fun getReservationBySearching(
|
||||
override fun searchReservations(
|
||||
@RequestParam(required = false) themeId: Long?,
|
||||
@RequestParam(required = false) memberId: Long?,
|
||||
@RequestParam(required = false) dateFrom: LocalDate?,
|
||||
@RequestParam(required = false) dateTo: LocalDate?
|
||||
): ResponseEntity<CommonApiResponse<ReservationRetrieveListResponse>> {
|
||||
val response: ReservationRetrieveListResponse = reservationService.findFilteredReservations(themeId, memberId, dateFrom, dateTo)
|
||||
val response: ReservationRetrieveListResponse = reservationService.searchReservations(
|
||||
themeId,
|
||||
memberId,
|
||||
dateFrom,
|
||||
dateTo
|
||||
)
|
||||
|
||||
return ResponseEntity.ok(CommonApiResponse(response))
|
||||
}
|
||||
|
||||
@DeleteMapping("/reservations/{id}")
|
||||
override fun removeReservation(
|
||||
override fun cancelReservationByAdmin(
|
||||
@MemberId @Parameter(hidden = true) memberId: Long,
|
||||
@PathVariable("id") reservationId: Long
|
||||
): ResponseEntity<CommonApiResponse<Unit>> {
|
||||
if (reservationWithPaymentService.isNotPaidReservation(reservationId)) {
|
||||
reservationService.removeReservationById(reservationId, memberId)
|
||||
reservationService.deleteReservation(reservationId, memberId)
|
||||
return ResponseEntity.noContent().build()
|
||||
}
|
||||
|
||||
val paymentCancelRequest = reservationWithPaymentService.removeReservationWithPayment(
|
||||
reservationId, memberId)
|
||||
val paymentCancelResponse = paymentClient.cancelPayment(paymentCancelRequest)
|
||||
val paymentCancelRequest = reservationWithPaymentService.deleteReservationAndPayment(reservationId, memberId)
|
||||
val paymentCancelResponse = paymentClient.cancel(paymentCancelRequest)
|
||||
reservationWithPaymentService.updateCanceledTime(paymentCancelRequest.paymentKey,
|
||||
paymentCancelResponse.canceledAt)
|
||||
|
||||
@ -71,15 +75,15 @@ class ReservationController(
|
||||
}
|
||||
|
||||
@PostMapping("/reservations")
|
||||
override fun saveReservation(
|
||||
override fun createReservationWithPayment(
|
||||
@Valid @RequestBody reservationCreateWithPaymentRequest: ReservationCreateWithPaymentRequest,
|
||||
@MemberId @Parameter(hidden = true) memberId: Long
|
||||
): ResponseEntity<CommonApiResponse<ReservationRetrieveResponse>> {
|
||||
val paymentRequest: PaymentApproveRequest = reservationCreateWithPaymentRequest.toPaymentApproveRequest()
|
||||
val paymentResponse: PaymentApproveResponse = paymentClient.confirmPayment(paymentRequest)
|
||||
val paymentResponse: PaymentApproveResponse = paymentClient.confirm(paymentRequest)
|
||||
|
||||
try {
|
||||
val reservationRetrieveResponse: ReservationRetrieveResponse = reservationWithPaymentService.addReservationWithPayment(
|
||||
val reservationRetrieveResponse: ReservationRetrieveResponse = reservationWithPaymentService.createReservationAndPayment(
|
||||
reservationCreateWithPaymentRequest,
|
||||
paymentResponse,
|
||||
memberId
|
||||
@ -89,37 +93,37 @@ class ReservationController(
|
||||
} catch (e: RoomescapeException) {
|
||||
val cancelRequest = PaymentCancelRequest(paymentRequest.paymentKey,
|
||||
paymentRequest.amount, e.message!!)
|
||||
val paymentCancelResponse = paymentClient.cancelPayment(cancelRequest)
|
||||
reservationWithPaymentService.saveCanceledPayment(paymentCancelResponse, paymentResponse.approvedAt,
|
||||
val paymentCancelResponse = paymentClient.cancel(cancelRequest)
|
||||
reservationWithPaymentService.createCanceledPayment(paymentCancelResponse, paymentResponse.approvedAt,
|
||||
paymentRequest.paymentKey)
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/reservations/admin")
|
||||
override fun saveReservationByAdmin(
|
||||
override fun createReservationByAdmin(
|
||||
@Valid @RequestBody adminReservationRequest: AdminReservationCreateRequest
|
||||
): ResponseEntity<CommonApiResponse<ReservationRetrieveResponse>> {
|
||||
val response: ReservationRetrieveResponse =
|
||||
reservationService.addReservationByAdmin(adminReservationRequest)
|
||||
reservationService.createReservationByAdmin(adminReservationRequest)
|
||||
|
||||
return ResponseEntity.created(URI.create("/reservations/${response.id}"))
|
||||
.body(CommonApiResponse(response))
|
||||
}
|
||||
|
||||
@GetMapping("/reservations/waiting")
|
||||
override fun getAllWaiting(): ResponseEntity<CommonApiResponse<ReservationRetrieveListResponse>> {
|
||||
override fun findAllWaiting(): ResponseEntity<CommonApiResponse<ReservationRetrieveListResponse>> {
|
||||
val response: ReservationRetrieveListResponse = reservationService.findAllWaiting()
|
||||
|
||||
return ResponseEntity.ok(CommonApiResponse(response))
|
||||
}
|
||||
|
||||
@PostMapping("/reservations/waiting")
|
||||
override fun saveWaiting(
|
||||
override fun createWaiting(
|
||||
@Valid @RequestBody waitingCreateRequest: WaitingCreateRequest,
|
||||
@MemberId @Parameter(hidden = true) memberId: Long,
|
||||
): ResponseEntity<CommonApiResponse<ReservationRetrieveResponse>> {
|
||||
val response: ReservationRetrieveResponse = reservationService.addWaiting(
|
||||
val response: ReservationRetrieveResponse = reservationService.createWaiting(
|
||||
waitingCreateRequest,
|
||||
memberId
|
||||
)
|
||||
@ -129,31 +133,31 @@ class ReservationController(
|
||||
}
|
||||
|
||||
@DeleteMapping("/reservations/waiting/{id}")
|
||||
override fun deleteWaiting(
|
||||
override fun cancelWaitingByMember(
|
||||
@MemberId @Parameter(hidden = true) memberId: Long,
|
||||
@PathVariable("id") reservationId: Long
|
||||
): ResponseEntity<CommonApiResponse<Unit>> {
|
||||
reservationService.cancelWaiting(reservationId, memberId)
|
||||
reservationService.deleteWaiting(reservationId, memberId)
|
||||
|
||||
return ResponseEntity.noContent().build()
|
||||
}
|
||||
|
||||
@PostMapping("/reservations/waiting/{id}/approve")
|
||||
override fun approveWaiting(
|
||||
@PostMapping("/reservations/waiting/{id}/confirm")
|
||||
override fun confirmWaiting(
|
||||
@MemberId @Parameter(hidden = true) memberId: Long,
|
||||
@PathVariable("id") reservationId: Long
|
||||
): ResponseEntity<CommonApiResponse<Unit>> {
|
||||
reservationService.approveWaiting(reservationId, memberId)
|
||||
reservationService.confirmWaiting(reservationId, memberId)
|
||||
|
||||
return ResponseEntity.ok().build()
|
||||
}
|
||||
|
||||
@PostMapping("/reservations/waiting/{id}/deny")
|
||||
override fun denyWaiting(
|
||||
@PostMapping("/reservations/waiting/{id}/reject")
|
||||
override fun rejectWaiting(
|
||||
@MemberId @Parameter(hidden = true) memberId: Long,
|
||||
@PathVariable("id") reservationId: Long
|
||||
): ResponseEntity<CommonApiResponse<Unit>> {
|
||||
reservationService.denyWaiting(reservationId, memberId)
|
||||
reservationService.rejectWaiting(reservationId, memberId)
|
||||
|
||||
return ResponseEntity.noContent().build()
|
||||
}
|
||||
|
||||
@ -15,17 +15,17 @@ class TimeController(
|
||||
) : TimeAPI {
|
||||
|
||||
@GetMapping("/times")
|
||||
override fun findAll(): ResponseEntity<CommonApiResponse<TimeRetrieveListResponse>> {
|
||||
val response: TimeRetrieveListResponse = timeService.findAll()
|
||||
override fun findTimes(): ResponseEntity<CommonApiResponse<TimeRetrieveListResponse>> {
|
||||
val response: TimeRetrieveListResponse = timeService.findTimes()
|
||||
|
||||
return ResponseEntity.ok(CommonApiResponse(response))
|
||||
}
|
||||
|
||||
@PostMapping("/times")
|
||||
override fun create(
|
||||
override fun createTime(
|
||||
@Valid @RequestBody timeCreateRequest: TimeCreateRequest,
|
||||
): ResponseEntity<CommonApiResponse<TimeCreateResponse>> {
|
||||
val response: TimeCreateResponse = timeService.create(timeCreateRequest)
|
||||
val response: TimeCreateResponse = timeService.createTime(timeCreateRequest)
|
||||
|
||||
return ResponseEntity
|
||||
.created(URI.create("/times/${response.id}"))
|
||||
@ -33,18 +33,18 @@ class TimeController(
|
||||
}
|
||||
|
||||
@DeleteMapping("/times/{id}")
|
||||
override fun deleteById(@PathVariable id: Long): ResponseEntity<CommonApiResponse<Unit>> {
|
||||
timeService.deleteById(id)
|
||||
override fun deleteTime(@PathVariable id: Long): ResponseEntity<CommonApiResponse<Unit>> {
|
||||
timeService.deleteTime(id)
|
||||
|
||||
return ResponseEntity.noContent().build()
|
||||
}
|
||||
|
||||
@GetMapping("/times/filter")
|
||||
override fun findAllWithAvailability(
|
||||
@GetMapping("/times/search")
|
||||
override fun findTimesWithAvailability(
|
||||
@RequestParam date: LocalDate,
|
||||
@RequestParam themeId: Long
|
||||
): ResponseEntity<CommonApiResponse<TimeWithAvailabilityListResponse>> {
|
||||
val response: TimeWithAvailabilityListResponse = timeService.findAllWithAvailability(date, themeId)
|
||||
val response: TimeWithAvailabilityListResponse = timeService.findTimesWithAvailability(date, themeId)
|
||||
|
||||
return ResponseEntity.ok(CommonApiResponse(response))
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ class ThemeService(
|
||||
)
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
fun findAll(): ThemesResponse = themeRepository.findAll()
|
||||
fun findThemes(): ThemesResponse = themeRepository.findAll()
|
||||
.toResponse()
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
@ -41,7 +41,7 @@ class ThemeService(
|
||||
}
|
||||
|
||||
@Transactional
|
||||
fun create(request: ThemeRequest): ThemeResponse {
|
||||
fun createTheme(request: ThemeRequest): ThemeResponse {
|
||||
if (themeRepository.existsByName(request.name)) {
|
||||
throw RoomescapeException(
|
||||
ErrorType.THEME_DUPLICATED,
|
||||
@ -60,7 +60,7 @@ class ThemeService(
|
||||
}
|
||||
|
||||
@Transactional
|
||||
fun deleteById(id: Long) {
|
||||
fun deleteTheme(id: Long) {
|
||||
if (themeRepository.isReservedTheme(id)) {
|
||||
throw RoomescapeException(
|
||||
ErrorType.THEME_IS_USED_CONFLICT,
|
||||
|
||||
@ -23,7 +23,7 @@ interface ThemeAPI {
|
||||
@LoginRequired
|
||||
@Operation(summary = "모든 테마 조회", description = "모든 테마를 조회합니다.", tags = ["로그인이 필요한 API"])
|
||||
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
|
||||
fun findAll(): ResponseEntity<CommonApiResponse<ThemesResponse>>
|
||||
fun findThemes(): ResponseEntity<CommonApiResponse<ThemesResponse>>
|
||||
|
||||
@Operation(summary = "가장 많이 예약된 테마 조회")
|
||||
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
|
||||
@ -36,7 +36,7 @@ interface ThemeAPI {
|
||||
@ApiResponses(
|
||||
ApiResponse(responseCode = "201", description = "성공", useReturnTypeSchema = true),
|
||||
)
|
||||
fun create(
|
||||
fun createTheme(
|
||||
@Valid @RequestBody request: ThemeRequest,
|
||||
): ResponseEntity<CommonApiResponse<ThemeResponse>>
|
||||
|
||||
@ -45,7 +45,7 @@ interface ThemeAPI {
|
||||
@ApiResponses(
|
||||
ApiResponse(responseCode = "204", description = "성공", useReturnTypeSchema = true),
|
||||
)
|
||||
fun deleteById(
|
||||
fun deleteTheme(
|
||||
@PathVariable id: Long
|
||||
): ResponseEntity<CommonApiResponse<Unit>>
|
||||
}
|
||||
|
||||
@ -15,8 +15,8 @@ class ThemeController(
|
||||
) : ThemeAPI {
|
||||
|
||||
@GetMapping("/themes")
|
||||
override fun findAll(): ResponseEntity<CommonApiResponse<ThemesResponse>> {
|
||||
val response: ThemesResponse = themeService.findAll()
|
||||
override fun findThemes(): ResponseEntity<CommonApiResponse<ThemesResponse>> {
|
||||
val response: ThemesResponse = themeService.findThemes()
|
||||
|
||||
return ResponseEntity.ok(CommonApiResponse(response))
|
||||
}
|
||||
@ -31,20 +31,20 @@ class ThemeController(
|
||||
}
|
||||
|
||||
@PostMapping("/themes")
|
||||
override fun create(
|
||||
override fun createTheme(
|
||||
@RequestBody @Valid request: ThemeRequest
|
||||
): ResponseEntity<CommonApiResponse<ThemeResponse>> {
|
||||
val themeResponse: ThemeResponse = themeService.create(request)
|
||||
val themeResponse: ThemeResponse = themeService.createTheme(request)
|
||||
|
||||
return ResponseEntity.created(URI.create("/themes/${themeResponse.id}"))
|
||||
.body(CommonApiResponse(themeResponse))
|
||||
}
|
||||
|
||||
@DeleteMapping("/themes/{id}")
|
||||
override fun deleteById(
|
||||
override fun deleteTheme(
|
||||
@PathVariable id: Long
|
||||
): ResponseEntity<CommonApiResponse<Unit>> {
|
||||
themeService.deleteById(id)
|
||||
themeService.deleteTheme(id)
|
||||
|
||||
return ResponseEntity.noContent().build()
|
||||
}
|
||||
|
||||
@ -97,7 +97,7 @@ function checkDateAndTheme() {
|
||||
|
||||
function fetchAvailableTimes(date, themeId) {
|
||||
|
||||
fetch(`/times/filter?date=${date}&themeId=${themeId}`, { // 예약 가능 시간 조회 API endpoint
|
||||
fetch(`/times/search?date=${date}&themeId=${themeId}`, { // 예약 가능 시간 조회 API endpoint
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
|
||||
@ -38,7 +38,7 @@ function approve(event) {
|
||||
const row = event.target.closest('tr');
|
||||
const id = row.cells[0].textContent;
|
||||
|
||||
const endpoint = `/reservations/waiting/${id}/approve`
|
||||
const endpoint = `/reservations/waiting/${id}/confirm`
|
||||
return fetch(endpoint, {
|
||||
method: 'POST'
|
||||
}).then(response => {
|
||||
@ -51,7 +51,7 @@ function deny(event) {
|
||||
const row = event.target.closest('tr');
|
||||
const id = row.cells[0].textContent;
|
||||
|
||||
const endpoint = `/reservations/waiting/${id}/deny`
|
||||
const endpoint = `/reservations/waiting/${id}/reject`
|
||||
return fetch(endpoint, {
|
||||
method: 'POST'
|
||||
}).then(response => {
|
||||
|
||||
@ -47,7 +47,7 @@ class TossPaymentClientTest(
|
||||
|
||||
// when
|
||||
val paymentRequest = SampleTossPaymentConst.paymentRequest
|
||||
val paymentResponse: PaymentApproveResponse = client.confirmPayment(paymentRequest)
|
||||
val paymentResponse: PaymentApproveResponse = client.confirm(paymentRequest)
|
||||
|
||||
assertSoftly(paymentResponse) {
|
||||
this.paymentKey shouldBe paymentRequest.paymentKey
|
||||
@ -69,7 +69,7 @@ class TossPaymentClientTest(
|
||||
|
||||
// then
|
||||
val exception = shouldThrow<RoomescapeException> {
|
||||
client.confirmPayment(paymentRequest)
|
||||
client.confirm(paymentRequest)
|
||||
}
|
||||
|
||||
assertSoftly(exception) {
|
||||
@ -102,7 +102,7 @@ class TossPaymentClientTest(
|
||||
|
||||
// when
|
||||
val cancelRequest: PaymentCancelRequest = SampleTossPaymentConst.cancelRequest
|
||||
val cancelResponse: PaymentCancelResponse = client.cancelPayment(cancelRequest)
|
||||
val cancelResponse: PaymentCancelResponse = client.cancel(cancelRequest)
|
||||
|
||||
assertSoftly(cancelResponse) {
|
||||
this.cancelStatus shouldBe "DONE"
|
||||
@ -124,7 +124,7 @@ class TossPaymentClientTest(
|
||||
|
||||
// then
|
||||
val exception = shouldThrow<RoomescapeException> {
|
||||
client.cancelPayment(cancelRequest)
|
||||
client.cancel(cancelRequest)
|
||||
}
|
||||
|
||||
assertSoftly(exception) {
|
||||
|
||||
@ -113,7 +113,7 @@ class ReservationServiceTest : FunSpec({
|
||||
themeId = reservationRequest.themeId,
|
||||
timeId = reservationRequest.timeId
|
||||
)
|
||||
reservationService.addWaiting(waitingRequest, 1L)
|
||||
reservationService.createWaiting(waitingRequest, 1L)
|
||||
}.also {
|
||||
it.errorType shouldBe ErrorType.HAS_RESERVATION_OR_WAITING
|
||||
}
|
||||
@ -126,7 +126,7 @@ class ReservationServiceTest : FunSpec({
|
||||
val endAt = startFrom.minusDays(1)
|
||||
|
||||
shouldThrow<RoomescapeException> {
|
||||
reservationService.findFilteredReservations(
|
||||
reservationService.searchReservations(
|
||||
null,
|
||||
null,
|
||||
startFrom,
|
||||
@ -147,7 +147,7 @@ class ReservationServiceTest : FunSpec({
|
||||
} returns member
|
||||
|
||||
shouldThrow<RoomescapeException> {
|
||||
reservationService.approveWaiting(1L, member.id!!)
|
||||
reservationService.confirmWaiting(1L, member.id!!)
|
||||
}.also {
|
||||
it.errorType shouldBe ErrorType.PERMISSION_DOES_NOT_EXIST
|
||||
}
|
||||
@ -166,7 +166,7 @@ class ReservationServiceTest : FunSpec({
|
||||
} returns true
|
||||
|
||||
shouldThrow<RoomescapeException> {
|
||||
reservationService.approveWaiting(reservationId, member.id!!)
|
||||
reservationService.confirmWaiting(reservationId, member.id!!)
|
||||
}.also {
|
||||
it.errorType shouldBe ErrorType.RESERVATION_DUPLICATED
|
||||
}
|
||||
|
||||
@ -55,7 +55,7 @@ class ReservationWithPaymentServiceTest : FunSpec({
|
||||
paymentService.createPayment(paymentApproveResponse, reservationEntity)
|
||||
} returns paymentEntity.toCreateResponse()
|
||||
|
||||
val result: ReservationRetrieveResponse = reservationWithPaymentService.addReservationWithPayment(
|
||||
val result: ReservationRetrieveResponse = reservationWithPaymentService.createReservationAndPayment(
|
||||
request = reservationCreateWithPaymentRequest,
|
||||
paymentInfo = paymentApproveResponse,
|
||||
memberId = memberId
|
||||
@ -85,10 +85,10 @@ class ReservationWithPaymentServiceTest : FunSpec({
|
||||
} returns paymentCancelRequest
|
||||
|
||||
every {
|
||||
reservationService.removeReservationById(reservationEntity.id!!, reservationEntity.member.id!!)
|
||||
reservationService.deleteReservation(reservationEntity.id!!, reservationEntity.member.id!!)
|
||||
} just Runs
|
||||
|
||||
val result: PaymentCancelRequest = reservationWithPaymentService.removeReservationWithPayment(
|
||||
val result: PaymentCancelRequest = reservationWithPaymentService.deleteReservationAndPayment(
|
||||
reservationId = reservationEntity.id!!,
|
||||
memberId = reservationEntity.member.id!!
|
||||
)
|
||||
|
||||
@ -46,7 +46,7 @@ class TimeServiceTest : FunSpec({
|
||||
every { timeRepository.existsByStartAt(request.startAt) } returns true
|
||||
|
||||
shouldThrow<RoomescapeException> {
|
||||
timeService.create(request)
|
||||
timeService.createTime(request)
|
||||
}.apply {
|
||||
errorType shouldBe ErrorType.TIME_DUPLICATED
|
||||
httpStatus shouldBe HttpStatus.CONFLICT
|
||||
@ -61,7 +61,7 @@ class TimeServiceTest : FunSpec({
|
||||
every { timeRepository.findByIdOrNull(id) } returns null
|
||||
|
||||
shouldThrow<RoomescapeException> {
|
||||
timeService.deleteById(id)
|
||||
timeService.deleteTime(id)
|
||||
}.apply {
|
||||
errorType shouldBe ErrorType.TIME_NOT_FOUND
|
||||
httpStatus shouldBe HttpStatus.BAD_REQUEST
|
||||
@ -77,7 +77,7 @@ class TimeServiceTest : FunSpec({
|
||||
every { reservationRepository.findByTime(time) } returns listOf(mockk())
|
||||
|
||||
shouldThrow<RoomescapeException> {
|
||||
timeService.deleteById(id)
|
||||
timeService.deleteTime(id)
|
||||
}.apply {
|
||||
errorType shouldBe ErrorType.TIME_IS_USED_CONFLICT
|
||||
httpStatus shouldBe HttpStatus.CONFLICT
|
||||
|
||||
@ -168,7 +168,7 @@ class ReservationRepositoryTest(
|
||||
entityManager.clear()
|
||||
}
|
||||
|
||||
val result: List<MyReservationRetrieveResponse> = reservationRepository.findMyReservations(reservation.member.id!!)
|
||||
val result: List<MyReservationRetrieveResponse> = reservationRepository.findAllById(reservation.member.id!!)
|
||||
|
||||
result shouldHaveSize 1
|
||||
assertSoftly(result.first()) {
|
||||
@ -179,7 +179,7 @@ class ReservationRepositoryTest(
|
||||
}
|
||||
|
||||
test("결제 정보가 없다면 paymentKey와 amount는 null로 반환한다.") {
|
||||
val result: List<MyReservationRetrieveResponse> = reservationRepository.findMyReservations(reservation.member.id!!)
|
||||
val result: List<MyReservationRetrieveResponse> = reservationRepository.findAllById(reservation.member.id!!)
|
||||
|
||||
result shouldHaveSize 1
|
||||
assertSoftly(result.first()) {
|
||||
|
||||
@ -70,7 +70,7 @@ class ReservationControllerTest(
|
||||
)
|
||||
|
||||
every {
|
||||
paymentClient.confirmPayment(any())
|
||||
paymentClient.confirm(any())
|
||||
} returns paymentApproveResponse
|
||||
|
||||
Given {
|
||||
@ -94,7 +94,7 @@ class ReservationControllerTest(
|
||||
)
|
||||
|
||||
every {
|
||||
paymentClient.confirmPayment(any())
|
||||
paymentClient.confirm(any())
|
||||
} throws paymentException
|
||||
|
||||
Given {
|
||||
@ -118,7 +118,7 @@ class ReservationControllerTest(
|
||||
)
|
||||
|
||||
every {
|
||||
paymentClient.confirmPayment(any())
|
||||
paymentClient.confirm(any())
|
||||
} returns paymentApproveResponse
|
||||
|
||||
// 예약 저장 과정에서 테마가 없는 예외
|
||||
@ -126,7 +126,7 @@ class ReservationControllerTest(
|
||||
val expectedException = RoomescapeException(ErrorType.THEME_NOT_FOUND, HttpStatus.BAD_REQUEST)
|
||||
|
||||
every {
|
||||
paymentClient.cancelPayment(any())
|
||||
paymentClient.cancel(any())
|
||||
} returns PaymentFixture.createCancelResponse()
|
||||
|
||||
val canceledPaymentSizeBeforeApiCall: Long = entityManager.createQuery(
|
||||
@ -367,7 +367,7 @@ class ReservationControllerTest(
|
||||
}
|
||||
|
||||
every {
|
||||
paymentClient.cancelPayment(any())
|
||||
paymentClient.cancel(any())
|
||||
} returns PaymentFixture.createCancelResponse()
|
||||
|
||||
val canceledPaymentSizeBeforeApiCall: Long = entityManager.createQuery(
|
||||
@ -561,14 +561,14 @@ class ReservationControllerTest(
|
||||
}
|
||||
}
|
||||
|
||||
context("POST /reservations/waiting/{id}/approve") {
|
||||
context("POST /reservations/waiting/{id}/confirm") {
|
||||
test("관리자만 승인할 수 있다.") {
|
||||
login(MemberFixture.create(role = Role.MEMBER))
|
||||
|
||||
Given {
|
||||
port(port)
|
||||
}.When {
|
||||
post("/reservations/waiting/1/approve")
|
||||
post("/reservations/waiting/1/confirm")
|
||||
}.Then {
|
||||
statusCode(302)
|
||||
header(HttpHeaders.LOCATION, containsString("/login"))
|
||||
@ -585,7 +585,7 @@ class ReservationControllerTest(
|
||||
Given {
|
||||
port(port)
|
||||
}.When {
|
||||
post("/reservations/waiting/${reservation.id!!}/approve")
|
||||
post("/reservations/waiting/${reservation.id!!}/confirm")
|
||||
}.Then {
|
||||
statusCode(200)
|
||||
}
|
||||
@ -601,14 +601,14 @@ class ReservationControllerTest(
|
||||
}
|
||||
}
|
||||
|
||||
context("POST /reservations/waiting/{id}/deny") {
|
||||
context("POST /reservations/waiting/{id}/reject") {
|
||||
test("관리자만 거절할 수 있다.") {
|
||||
login(MemberFixture.create(role = Role.MEMBER))
|
||||
|
||||
Given {
|
||||
port(port)
|
||||
}.When {
|
||||
post("/reservations/waiting/1/deny")
|
||||
post("/reservations/waiting/1/reject")
|
||||
}.Then {
|
||||
statusCode(302)
|
||||
header(HttpHeaders.LOCATION, containsString("/login"))
|
||||
@ -625,7 +625,7 @@ class ReservationControllerTest(
|
||||
Given {
|
||||
port(port)
|
||||
}.When {
|
||||
post("/reservations/waiting/${reservation.id!!}/deny")
|
||||
post("/reservations/waiting/${reservation.id!!}/reject")
|
||||
}.Then {
|
||||
statusCode(204)
|
||||
}
|
||||
|
||||
@ -112,7 +112,7 @@ class TimeControllerTest(
|
||||
|
||||
Then("정상 응답") {
|
||||
every {
|
||||
timeService.create(request)
|
||||
timeService.createTime(request)
|
||||
} returns TimeCreateResponse(id = 1, startAt = time)
|
||||
|
||||
runPostTest(
|
||||
@ -174,7 +174,7 @@ class TimeControllerTest(
|
||||
|
||||
Then("정상 응답") {
|
||||
every {
|
||||
timeService.deleteById(1L)
|
||||
timeService.deleteTime(1L)
|
||||
} returns Unit
|
||||
|
||||
runDeleteTest(
|
||||
@ -272,7 +272,7 @@ class TimeControllerTest(
|
||||
|
||||
val response = runGetTest(
|
||||
mockMvc = mockMvc,
|
||||
endpoint = "/times/filter?date=$date&themeId=$themeId",
|
||||
endpoint = "/times/search?date=$date&themeId=$themeId",
|
||||
) {
|
||||
status { isOk() }
|
||||
content {
|
||||
|
||||
@ -51,7 +51,7 @@ class ThemeServiceTest : FunSpec({
|
||||
themeRepository.findAll()
|
||||
} returns themes
|
||||
|
||||
assertSoftly(themeService.findAll()) {
|
||||
assertSoftly(themeService.findThemes()) {
|
||||
this.themes.size shouldBe themes.size
|
||||
this.themes[0].name shouldBe "t1"
|
||||
this.themes[1].name shouldBe "t2"
|
||||
@ -68,7 +68,7 @@ class ThemeServiceTest : FunSpec({
|
||||
} returns true
|
||||
|
||||
val exception = shouldThrow<RoomescapeException> {
|
||||
themeService.create(ThemeRequest(
|
||||
themeService.createTheme(ThemeRequest(
|
||||
name = name,
|
||||
description = "Description",
|
||||
thumbnail = "http://example.com/thumbnail.jpg"
|
||||
@ -91,7 +91,7 @@ class ThemeServiceTest : FunSpec({
|
||||
} returns true
|
||||
|
||||
val exception = shouldThrow<RoomescapeException> {
|
||||
themeService.deleteById(themeId)
|
||||
themeService.deleteTheme(themeId)
|
||||
}
|
||||
|
||||
assertSoftly(exception) {
|
||||
|
||||
@ -195,7 +195,7 @@ class ThemeControllerTest(mockMvc: MockMvc) : RoomescapeApiTest() {
|
||||
)
|
||||
|
||||
every {
|
||||
themeService.create(request)
|
||||
themeService.createTheme(request)
|
||||
} returns ThemeResponse(
|
||||
id = theme.id!!,
|
||||
name = theme.name,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user