[#44] 매장 기능 도입 #45

Merged
pricelees merged 116 commits from feat/#44 into main 2025-09-20 03:15:06 +00:00
Showing only changes of commit 8321356051 - Show all commits

View File

@ -17,7 +17,6 @@ import roomescape.payment.infrastructure.common.*
import roomescape.payment.infrastructure.persistence.* import roomescape.payment.infrastructure.persistence.*
import roomescape.payment.web.PaymentConfirmRequest import roomescape.payment.web.PaymentConfirmRequest
import roomescape.payment.web.PaymentCreateResponse import roomescape.payment.web.PaymentCreateResponse
import roomescape.reservation.infrastructure.persistence.ReservationEntity
import roomescape.supports.* import roomescape.supports.*
class PaymentAPITest( class PaymentAPITest(
@ -43,7 +42,7 @@ class PaymentAPITest(
test("관리자") { test("관리자") {
runExceptionTest( runExceptionTest(
token = testAuthUtil.defaultHqAdminLogin(), token = testAuthUtil.defaultHqAdminLogin().second,
method = HttpMethod.POST, method = HttpMethod.POST,
endpoint = endpoint, endpoint = endpoint,
expectedErrorCode = AuthErrorCode.ACCESS_DENIED expectedErrorCode = AuthErrorCode.ACCESS_DENIED
@ -164,10 +163,8 @@ class PaymentAPITest(
PaymentMethod.entries.filter { it !in supportedMethod }.forEach { PaymentMethod.entries.filter { it !in supportedMethod }.forEach {
test("결제 수단: ${it.koreanName}") { test("결제 수단: ${it.koreanName}") {
val reservation = dummyInitializer.createConfirmReservation( val (user, token) = testAuthUtil.defaultUserLogin()
adminToken = testAuthUtil.defaultHqAdminLogin(), val reservation = dummyInitializer.createConfirmReservation(user = user)
reserverToken = testAuthUtil.defaultUserLogin()
)
val request = PaymentFixture.confirmRequest val request = PaymentFixture.confirmRequest
@ -183,7 +180,7 @@ class PaymentAPITest(
) )
runExceptionTest( runExceptionTest(
token = testAuthUtil.defaultUserLogin(), token = token,
method = HttpMethod.POST, method = HttpMethod.POST,
endpoint = "/payments?reservationId=${reservation.id}", endpoint = "/payments?reservationId=${reservation.id}",
requestBody = PaymentFixture.confirmRequest, requestBody = PaymentFixture.confirmRequest,
@ -209,7 +206,7 @@ class PaymentAPITest(
test("관리자") { test("관리자") {
runExceptionTest( runExceptionTest(
token = testAuthUtil.defaultHqAdminLogin(), token = testAuthUtil.defaultHqAdminLogin().second,
method = HttpMethod.POST, method = HttpMethod.POST,
endpoint = endpoint, endpoint = endpoint,
requestBody = PaymentFixture.cancelRequest, requestBody = PaymentFixture.cancelRequest,
@ -219,12 +216,9 @@ class PaymentAPITest(
} }
test("정상 취소") { test("정상 취소") {
val userToken = testAuthUtil.defaultUserLogin() val (user, token) = testAuthUtil.defaultUserLogin()
val reservation = dummyInitializer.createConfirmReservation(user = user)
val confirmRequest = PaymentFixture.confirmRequest val confirmRequest = PaymentFixture.confirmRequest
val reservation = dummyInitializer.createConfirmReservation(
adminToken = testAuthUtil.defaultHqAdminLogin(),
reserverToken = userToken
)
val paymentCreateResponse = createPayment( val paymentCreateResponse = createPayment(
request = confirmRequest, request = confirmRequest,
@ -242,7 +236,7 @@ class PaymentAPITest(
val requestBody = PaymentFixture.cancelRequest.copy(reservationId = reservation.id) val requestBody = PaymentFixture.cancelRequest.copy(reservationId = reservation.id)
runTest( runTest(
token = userToken, token = token,
using = { using = {
body(requestBody) body(requestBody)
}, },
@ -266,14 +260,11 @@ class PaymentAPITest(
} }
test("예약에 대한 결제 정보가 없으면 실패한다.") { test("예약에 대한 결제 정보가 없으면 실패한다.") {
val userToken = testAuthUtil.defaultUserLogin() val (user, token) = testAuthUtil.defaultUserLogin()
val reservation = dummyInitializer.createConfirmReservation( val reservation = dummyInitializer.createConfirmReservation(user = user)
adminToken = testAuthUtil.defaultHqAdminLogin(),
reserverToken = userToken,
)
runExceptionTest( runExceptionTest(
token = userToken, token = token,
method = HttpMethod.POST, method = HttpMethod.POST,
endpoint = "/payments/cancel", endpoint = "/payments/cancel",
requestBody = PaymentFixture.cancelRequest.copy(reservationId = reservation.id), requestBody = PaymentFixture.cancelRequest.copy(reservationId = reservation.id),
@ -308,14 +299,10 @@ class PaymentAPITest(
paymentKey: String = "paymentKey", paymentKey: String = "paymentKey",
amount: Int = 10000, amount: Int = 10000,
) { ) {
val (user, token) = testAuthUtil.defaultUserLogin()
val reservation = dummyInitializer.createConfirmReservation(user = user)
val request = PaymentFixture.confirmRequest.copy(paymentKey = paymentKey, amount = amount) val request = PaymentFixture.confirmRequest.copy(paymentKey = paymentKey, amount = amount)
val reservation: ReservationEntity = dummyInitializer.createPendingReservation(
adminToken = testAuthUtil.defaultHqAdminLogin(),
reserverToken = testAuthUtil.defaultUserLogin(),
)
val method = if (easyPayDetail != null) { val method = if (easyPayDetail != null) {
PaymentMethod.EASY_PAY PaymentMethod.EASY_PAY
} else if (cardDetail != null) { } else if (cardDetail != null) {
@ -335,7 +322,7 @@ class PaymentAPITest(
} returns clientResponse } returns clientResponse
runTest( runTest(
token = testAuthUtil.defaultUserLogin(), token = token,
using = { using = {
body(request) body(request)
}, },