refactor: 테스트 더미 데이터 생성 로직 수정

- 만료, 취소 예약 기능 추가
- Payment 생성 시 입력된 method에 따른 분기 처리
This commit is contained in:
이상진 2025-10-09 15:10:54 +09:00
parent 7fe33d24d2
commit 7c02d9ceae
2 changed files with 53 additions and 15 deletions

View File

@ -156,6 +156,27 @@ class DummyInitializer(
} }
} }
fun createExpiredOrCanceledReservation(
user: UserEntity,
status: ReservationStatus,
storeId: Long = IDGenerator.create(),
themeRequest: ThemeCreateRequest = ThemeFixture.createRequest,
scheduleRequest: ScheduleCreateRequest = ScheduleFixture.createRequest,
reservationRequest: PendingReservationCreateRequest = ReservationFixture.pendingCreateRequest,
): ReservationEntity {
return createPendingReservation(user, storeId, themeRequest, scheduleRequest, reservationRequest).apply {
this.status = status
}.also {
reservationRepository.save(it)
scheduleRepository.findByIdOrNull(it.scheduleId)?.let { schedule ->
schedule.status = ScheduleStatus.AVAILABLE
schedule.holdExpiredAt = null
scheduleRepository.save(schedule)
}
}
}
fun createPayment( fun createPayment(
reservationId: Long, reservationId: Long,
request: PaymentConfirmRequest = PaymentFixture.confirmRequest, request: PaymentConfirmRequest = PaymentFixture.confirmRequest,

View File

@ -299,21 +299,38 @@ object PaymentFixture {
easyPayDetail: EasyPayDetailResponse? = null, easyPayDetail: EasyPayDetailResponse? = null,
transferDetail: TransferDetailResponse? = null, transferDetail: TransferDetailResponse? = null,
orderId: String = randomString(25), orderId: String = randomString(25),
) = PaymentGatewayResponse( ): PaymentGatewayResponse {
paymentKey = paymentKey, var card: CardDetailResponse? = cardDetail
status = PaymentStatus.DONE, if (method == PaymentMethod.CARD && cardDetail == null) {
orderId = orderId, card = cardDetail(amount)
type = PaymentType.NORMAL, }
totalAmount = amount,
vat = (amount * 0.1).toInt(), var easypay: EasyPayDetailResponse? = easyPayDetail
suppliedAmount = (amount * 0.9).toInt(), if (method == PaymentMethod.EASY_PAY && easyPayDetail == null) {
method = method, easypay = easypayDetail(amount)
card = cardDetail, }
easyPay = easyPayDetail,
transfer = transferDetail, var transfer: TransferDetailResponse? = transferDetail
requestedAt = KoreaDateTime.nowWithOffset(), if (method == PaymentMethod.TRANSFER && transferDetail == null) {
approvedAt = KoreaDateTime.nowWithOffset().plusSeconds(5) transfer = transferDetail()
) }
return PaymentGatewayResponse(
paymentKey = paymentKey,
status = PaymentStatus.DONE,
orderId = orderId,
type = PaymentType.NORMAL,
totalAmount = amount,
vat = (amount * 0.1).toInt(),
suppliedAmount = (amount * 0.9).toInt(),
method = method,
card = card,
easyPay = easypay,
transfer = transfer,
requestedAt = KoreaDateTime.nowWithOffset(),
approvedAt = KoreaDateTime.nowWithOffset().plusSeconds(5)
)
}
fun cancelResponse( fun cancelResponse(
amount: Int, amount: Int,