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(
reservationId: Long,
request: PaymentConfirmRequest = PaymentFixture.confirmRequest,

View File

@ -299,21 +299,38 @@ object PaymentFixture {
easyPayDetail: EasyPayDetailResponse? = null,
transferDetail: TransferDetailResponse? = null,
orderId: String = randomString(25),
) = 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 = cardDetail,
easyPay = easyPayDetail,
transfer = transferDetail,
requestedAt = KoreaDateTime.nowWithOffset(),
approvedAt = KoreaDateTime.nowWithOffset().plusSeconds(5)
)
): PaymentGatewayResponse {
var card: CardDetailResponse? = cardDetail
if (method == PaymentMethod.CARD && cardDetail == null) {
card = cardDetail(amount)
}
var easypay: EasyPayDetailResponse? = easyPayDetail
if (method == PaymentMethod.EASY_PAY && easyPayDetail == null) {
easypay = easypayDetail(amount)
}
var transfer: TransferDetailResponse? = transferDetail
if (method == PaymentMethod.TRANSFER && transferDetail == null) {
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(
amount: Int,