refactor: API 및 로직 변동사항 테스트 반영

This commit is contained in:
이상진 2025-09-14 22:41:33 +09:00
parent f27ce7cd3a
commit 3ec96f3c35
6 changed files with 74 additions and 105 deletions

View File

@ -43,7 +43,7 @@ class PaymentAPITest(
test("관리자") { test("관리자") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.POST, method = HttpMethod.POST,
endpoint = endpoint, endpoint = endpoint,
expectedErrorCode = AuthErrorCode.ACCESS_DENIED expectedErrorCode = AuthErrorCode.ACCESS_DENIED
@ -165,7 +165,7 @@ 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 reservation = dummyInitializer.createConfirmReservation(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
reserverToken = authUtil.defaultUserLogin() reserverToken = authUtil.defaultUserLogin()
) )
@ -209,7 +209,7 @@ class PaymentAPITest(
test("관리자") { test("관리자") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.POST, method = HttpMethod.POST,
endpoint = endpoint, endpoint = endpoint,
requestBody = PaymentFixture.cancelRequest, requestBody = PaymentFixture.cancelRequest,
@ -222,7 +222,7 @@ class PaymentAPITest(
val userToken = authUtil.defaultUserLogin() val userToken = authUtil.defaultUserLogin()
val confirmRequest = PaymentFixture.confirmRequest val confirmRequest = PaymentFixture.confirmRequest
val reservation = dummyInitializer.createConfirmReservation( val reservation = dummyInitializer.createConfirmReservation(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
reserverToken = userToken reserverToken = userToken
) )
@ -268,7 +268,7 @@ class PaymentAPITest(
test("예약에 대한 결제 정보가 없으면 실패한다.") { test("예약에 대한 결제 정보가 없으면 실패한다.") {
val userToken = authUtil.defaultUserLogin() val userToken = authUtil.defaultUserLogin()
val reservation = dummyInitializer.createConfirmReservation( val reservation = dummyInitializer.createConfirmReservation(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
reserverToken = userToken, reserverToken = userToken,
) )
@ -312,7 +312,7 @@ class PaymentAPITest(
val request = PaymentFixture.confirmRequest.copy(paymentKey = paymentKey, amount = amount) val request = PaymentFixture.confirmRequest.copy(paymentKey = paymentKey, amount = amount)
val reservation: ReservationEntity = dummyInitializer.createPendingReservation( val reservation: ReservationEntity = dummyInitializer.createPendingReservation(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
reserverToken = authUtil.defaultUserLogin(), reserverToken = authUtil.defaultUserLogin(),
) )

View File

@ -55,7 +55,7 @@ class ReservationApiTest(
test("관리자") { test("관리자") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.POST, method = HttpMethod.POST,
endpoint = endpoint, endpoint = endpoint,
expectedErrorCode = AuthErrorCode.ACCESS_DENIED expectedErrorCode = AuthErrorCode.ACCESS_DENIED
@ -66,7 +66,7 @@ class ReservationApiTest(
test("정상 생성") { test("정상 생성") {
val schedule: ScheduleEntity = dummyInitializer.createSchedule( val schedule: ScheduleEntity = dummyInitializer.createSchedule(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
request = ScheduleFixture.createRequest, request = ScheduleFixture.createRequest,
status = ScheduleStatus.HOLD status = ScheduleStatus.HOLD
) )
@ -95,7 +95,7 @@ class ReservationApiTest(
test("예약을 생성할 때 해당 일정이 ${ScheduleStatus.HOLD} 상태가 아니면 실패한다.") { test("예약을 생성할 때 해당 일정이 ${ScheduleStatus.HOLD} 상태가 아니면 실패한다.") {
val schedule: ScheduleEntity = dummyInitializer.createSchedule( val schedule: ScheduleEntity = dummyInitializer.createSchedule(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
request = ScheduleFixture.createRequest, request = ScheduleFixture.createRequest,
status = ScheduleStatus.AVAILABLE status = ScheduleStatus.AVAILABLE
) )
@ -116,7 +116,7 @@ class ReservationApiTest(
} }
test("예약 인원이 테마의 최소 인원보다 작거나 최대 인원보다 많으면 실패한다.") { test("예약 인원이 테마의 최소 인원보다 작거나 최대 인원보다 많으면 실패한다.") {
val adminToken = authUtil.defaultAdminLogin() val adminToken = authUtil.defaultStoreAdminLogin()
val theme: ThemeEntity = dummyInitializer.createTheme( val theme: ThemeEntity = dummyInitializer.createTheme(
adminToken = adminToken, adminToken = adminToken,
request = ThemeFixture.createRequest request = ThemeFixture.createRequest
@ -190,7 +190,7 @@ class ReservationApiTest(
test("관리자") { test("관리자") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.POST, method = HttpMethod.POST,
endpoint = endpoint, endpoint = endpoint,
expectedErrorCode = AuthErrorCode.ACCESS_DENIED expectedErrorCode = AuthErrorCode.ACCESS_DENIED
@ -202,7 +202,7 @@ class ReservationApiTest(
val userToken = authUtil.defaultUserLogin() val userToken = authUtil.defaultUserLogin()
val reservation: ReservationEntity = dummyInitializer.createPendingReservation( val reservation: ReservationEntity = dummyInitializer.createPendingReservation(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
reserverToken = userToken, reserverToken = userToken,
) )
@ -250,7 +250,7 @@ class ReservationApiTest(
test("관리자") { test("관리자") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.POST, method = HttpMethod.POST,
endpoint = endpoint, endpoint = endpoint,
expectedErrorCode = AuthErrorCode.ACCESS_DENIED expectedErrorCode = AuthErrorCode.ACCESS_DENIED
@ -262,7 +262,7 @@ class ReservationApiTest(
val userToken = authUtil.defaultUserLogin() val userToken = authUtil.defaultUserLogin()
val reservation: ReservationEntity = dummyInitializer.createConfirmReservation( val reservation: ReservationEntity = dummyInitializer.createConfirmReservation(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
reserverToken = userToken, reserverToken = userToken,
) )
@ -299,9 +299,9 @@ class ReservationApiTest(
) )
} }
test("관리자가 아닌 회원은 다른 회원의 예약을 취소할 수 없다.") { test("다른 회원의 예약을 취소할 수 없다.") {
val reservation: ReservationEntity = dummyInitializer.createConfirmReservation( val reservation: ReservationEntity = dummyInitializer.createConfirmReservation(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
reserverToken = authUtil.defaultUserLogin(), reserverToken = authUtil.defaultUserLogin(),
) )
@ -316,37 +316,6 @@ class ReservationApiTest(
expectedErrorCode = ReservationErrorCode.NO_PERMISSION_TO_CANCEL_RESERVATION expectedErrorCode = ReservationErrorCode.NO_PERMISSION_TO_CANCEL_RESERVATION
) )
} }
test("관리자는 다른 회원의 예약을 취소할 수 있다.") {
val adminToken = authUtil.defaultAdminLogin()
val reservation: ReservationEntity = dummyInitializer.createConfirmReservation(
adminToken = adminToken,
reserverToken = authUtil.defaultUserLogin(),
)
runTest(
token = adminToken,
using = {
body(ReservationCancelRequest(cancelReason = "test"))
},
on = {
post("/reservations/${reservation.id}/cancel")
},
expect = {
statusCode(HttpStatus.OK.value())
}
).also {
val updatedReservation = reservationRepository.findByIdOrNull(reservation.id)
?: throw AssertionError("Unexpected Exception Occurred.")
val updatedSchedule = scheduleRepository.findByIdOrNull(updatedReservation.scheduleId)
?: throw AssertionError("Unexpected Exception Occurred.")
updatedSchedule.status shouldBe ScheduleStatus.AVAILABLE
updatedReservation.status shouldBe ReservationStatus.CANCELED
canceledReservationRepository.findAll()[0].reservationId shouldBe updatedReservation.id
}
}
} }
context("나의 예약 목록을 조회한다.") { context("나의 예약 목록을 조회한다.") {
@ -363,7 +332,7 @@ class ReservationApiTest(
test("관리자") { test("관리자") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.POST, method = HttpMethod.POST,
endpoint = endpoint, endpoint = endpoint,
expectedErrorCode = AuthErrorCode.ACCESS_DENIED expectedErrorCode = AuthErrorCode.ACCESS_DENIED
@ -373,7 +342,7 @@ class ReservationApiTest(
test("정상 응답") { test("정상 응답") {
val userToken = authUtil.defaultUserLogin() val userToken = authUtil.defaultUserLogin()
val adminToken = authUtil.defaultAdminLogin() val adminToken = authUtil.defaultStoreAdminLogin()
for (i in 1..3) { for (i in 1..3) {
dummyInitializer.createConfirmReservation( dummyInitializer.createConfirmReservation(
@ -429,7 +398,7 @@ class ReservationApiTest(
test("관리자") { test("관리자") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.POST, method = HttpMethod.POST,
endpoint = endpoint, endpoint = endpoint,
expectedErrorCode = AuthErrorCode.ACCESS_DENIED expectedErrorCode = AuthErrorCode.ACCESS_DENIED
@ -444,7 +413,7 @@ class ReservationApiTest(
beforeTest { beforeTest {
reservation = dummyInitializer.createConfirmReservation( reservation = dummyInitializer.createConfirmReservation(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
reserverToken = authUtil.defaultUserLogin(), reserverToken = authUtil.defaultUserLogin(),
) )
} }
@ -587,7 +556,7 @@ class ReservationApiTest(
test("예약은 있지만, 결제 정보를 찾을 수 없으면 null로 지정한다.") { test("예약은 있지만, 결제 정보를 찾을 수 없으면 null로 지정한다.") {
val reservation = dummyInitializer.createConfirmReservation( val reservation = dummyInitializer.createConfirmReservation(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
reserverToken = authUtil.defaultUserLogin(), reserverToken = authUtil.defaultUserLogin(),
) )
@ -605,7 +574,7 @@ class ReservationApiTest(
test("예약과 결제는 있지만, 결제 세부 내역이 없으면 세부 내역만 null로 지정한다..") { test("예약과 결제는 있지만, 결제 세부 내역이 없으면 세부 내역만 null로 지정한다..") {
val reservation = dummyInitializer.createConfirmReservation( val reservation = dummyInitializer.createConfirmReservation(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
reserverToken = authUtil.defaultUserLogin(), reserverToken = authUtil.defaultUserLogin(),
) )

View File

@ -32,7 +32,7 @@ class ScheduleApiTest(
val endpoint = "/schedules/themes?date=$date" val endpoint = "/schedules/themes?date=$date"
test("정상 응답") { test("정상 응답") {
val adminToken = authUtil.defaultAdminLogin() val adminToken = authUtil.defaultStoreAdminLogin()
for (i in 1..10) { for (i in 1..10) {
dummyInitializer.createSchedule( dummyInitializer.createSchedule(
@ -61,7 +61,7 @@ class ScheduleApiTest(
test("정상 응답") { test("정상 응답") {
val date = LocalDate.now().plusDays(1) val date = LocalDate.now().plusDays(1)
val adminToken = authUtil.defaultAdminLogin() val adminToken = authUtil.defaultStoreAdminLogin()
val createdSchedule = dummyInitializer.createSchedule( val createdSchedule = dummyInitializer.createSchedule(
adminToken = adminToken, adminToken = adminToken,
request = createRequest.copy(date = date, time = LocalTime.now()) request = createRequest.copy(date = date, time = LocalTime.now())
@ -129,7 +129,7 @@ class ScheduleApiTest(
} }
test("정상 응답") { test("정상 응답") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
val createdSchedule = dummyInitializer.createSchedule( val createdSchedule = dummyInitializer.createSchedule(
adminToken = token, adminToken = token,
@ -161,7 +161,7 @@ class ScheduleApiTest(
test("일정이 없으면 실패한다.") { test("일정이 없으면 실패한다.") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.GET, method = HttpMethod.GET,
endpoint = "/schedules/$INVALID_PK", endpoint = "/schedules/$INVALID_PK",
expectedErrorCode = ScheduleErrorCode.SCHEDULE_NOT_FOUND expectedErrorCode = ScheduleErrorCode.SCHEDULE_NOT_FOUND
@ -208,7 +208,7 @@ class ScheduleApiTest(
} }
test("정상 생성 및 감사 정보 확인") { test("정상 생성 및 감사 정보 확인") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
val themeId: Long = dummyInitializer.createTheme( val themeId: Long = dummyInitializer.createTheme(
adminToken = token, adminToken = token,
@ -246,7 +246,7 @@ class ScheduleApiTest(
} }
test("이미 동일한 날짜, 시간, 테마인 일정이 있으면 실패한다.") { test("이미 동일한 날짜, 시간, 테마인 일정이 있으면 실패한다.") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
val date = LocalDate.now().plusDays(1) val date = LocalDate.now().plusDays(1)
val time = LocalTime.of(10, 0) val time = LocalTime.of(10, 0)
@ -267,7 +267,7 @@ class ScheduleApiTest(
} }
test("입력된 날짜 + 시간이 현재 시간 이전이면 실패한다.") { test("입력된 날짜 + 시간이 현재 시간 이전이면 실패한다.") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
val body = createRequest.copy(LocalDate.now(), LocalTime.now().minusMinutes(1)) val body = createRequest.copy(LocalDate.now(), LocalTime.now().minusMinutes(1))
runExceptionTest( runExceptionTest(
@ -294,7 +294,7 @@ class ScheduleApiTest(
test("관리자") { test("관리자") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.PATCH, method = HttpMethod.PATCH,
endpoint = endpoint, endpoint = endpoint,
expectedErrorCode = AuthErrorCode.ACCESS_DENIED expectedErrorCode = AuthErrorCode.ACCESS_DENIED
@ -304,7 +304,7 @@ class ScheduleApiTest(
test("해당 일정이 ${ScheduleStatus.AVAILABLE} 상태이면 정상 응답") { test("해당 일정이 ${ScheduleStatus.AVAILABLE} 상태이면 정상 응답") {
val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule( val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
request = createRequest request = createRequest
) )
@ -334,7 +334,7 @@ class ScheduleApiTest(
} }
test("해당 일정이 ${ScheduleStatus.AVAILABLE} 상태가 아니면 실패한다.") { test("해당 일정이 ${ScheduleStatus.AVAILABLE} 상태가 아니면 실패한다.") {
val adminToken = authUtil.defaultAdminLogin() val adminToken = authUtil.defaultStoreAdminLogin()
val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule( val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule(
adminToken = adminToken, adminToken = adminToken,
@ -414,7 +414,7 @@ class ScheduleApiTest(
test("정상 수정 및 감사 정보 변경 확인") { test("정상 수정 및 감사 정보 변경 확인") {
val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule( val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
request = createRequest.copy( request = createRequest.copy(
date = LocalDate.now().plusDays(1), date = LocalDate.now().plusDays(1),
time = LocalTime.now().plusMinutes(1), time = LocalTime.now().plusMinutes(1),
@ -449,7 +449,7 @@ class ScheduleApiTest(
} }
test("입력값이 없으면 수정하지 않는다.") { test("입력값이 없으면 수정하지 않는다.") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule( val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule(
adminToken = token, adminToken = token,
@ -477,7 +477,7 @@ class ScheduleApiTest(
test("일정이 없으면 실패한다.") { test("일정이 없으면 실패한다.") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.PATCH, method = HttpMethod.PATCH,
requestBody = updateRequest, requestBody = updateRequest,
endpoint = "/schedules/${INVALID_PK}", endpoint = "/schedules/${INVALID_PK}",
@ -486,7 +486,7 @@ class ScheduleApiTest(
} }
test("입력된 날짜 + 시간이 현재 시간 이전이면 실패한다.") { test("입력된 날짜 + 시간이 현재 시간 이전이면 실패한다.") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule( val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule(
adminToken = token, adminToken = token,
request = request =
@ -540,7 +540,7 @@ class ScheduleApiTest(
} }
test("정상 삭제") { test("정상 삭제") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule( val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule(
adminToken = token, adminToken = token,
request = createRequest request = createRequest
@ -560,7 +560,7 @@ class ScheduleApiTest(
} }
test("예약 중이거나 예약이 완료된 일정이면 실패한다.") { test("예약 중이거나 예약이 완료된 일정이면 실패한다.") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule( val createdSchedule: ScheduleEntity = dummyInitializer.createSchedule(
adminToken = token, adminToken = token,

View File

@ -31,10 +31,12 @@ class AuthUtil(
fun createAdmin(admin: AdminEntity): AdminEntity { fun createAdmin(admin: AdminEntity): AdminEntity {
val storeId = admin.storeId val storeId = admin.storeId
if (storeId != null && storeRepository.findByIdOrNull(storeId) == null) { if (storeId != null && storeRepository.findByIdOrNull(storeId) == null) {
storeRepository.save(StoreFixture.create( storeRepository.save(
StoreFixture.create(
id = storeId, id = storeId,
businessRegNum = generateBusinessRegNum(), businessRegNum = generateBusinessRegNum(),
)) )
)
} }
return adminRepository.save(admin) return adminRepository.save(admin)
@ -75,8 +77,6 @@ class AuthUtil(
fun defaultStoreAdminLogin(): String = adminLogin(AdminFixture.storeDefault) fun defaultStoreAdminLogin(): String = adminLogin(AdminFixture.storeDefault)
fun defaultHqAdminLogin(): String = adminLogin(AdminFixture.hqDefault) fun defaultHqAdminLogin(): String = adminLogin(AdminFixture.hqDefault)
fun defaultAdminLogin(): String = adminLogin(AdminFixture.default)
fun userLogin(user: UserEntity): String { fun userLogin(user: UserEntity): String {
if (userRepository.findByEmail(user.email) == null) { if (userRepository.findByEmail(user.email) == null) {
userRepository.save(user) userRepository.save(user)

View File

@ -69,7 +69,7 @@ class ThemeApiTest(
test("정상 생성 및 감사 정보 확인") { test("정상 생성 및 감사 정보 확인") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
runTest( runTest(
token = token, token = token,
@ -97,7 +97,7 @@ class ThemeApiTest(
} }
test("이미 동일한 이름의 테마가 있으면 실패한다.") { test("이미 동일한 이름의 테마가 있으면 실패한다.") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
val commonName = "test123" val commonName = "test123"
dummyInitializer.createTheme( dummyInitializer.createTheme(
adminToken = token, adminToken = token,
@ -120,7 +120,7 @@ class ThemeApiTest(
} }
test("금액이 ${MIN_PRICE}원 미만이면 실패한다.") { test("금액이 ${MIN_PRICE}원 미만이면 실패한다.") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
runTest( runTest(
token = token, token = token,
using = { using = {
@ -143,7 +143,7 @@ class ThemeApiTest(
} }
test("field: availableMinutes") { test("field: availableMinutes") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
runTest( runTest(
token = token, token = token,
using = { using = {
@ -157,7 +157,7 @@ class ThemeApiTest(
} }
test("field: expectedMinutesFrom") { test("field: expectedMinutesFrom") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
runTest( runTest(
token = token, token = token,
using = { using = {
@ -171,7 +171,7 @@ class ThemeApiTest(
} }
test("field: expectedMinutesTo") { test("field: expectedMinutesTo") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
runTest( runTest(
token = token, token = token,
using = { using = {
@ -187,7 +187,7 @@ class ThemeApiTest(
context("시간 범위가 잘못 지정되면 실패한다.") { context("시간 범위가 잘못 지정되면 실패한다.") {
test("최소 예상 시간 > 최대 예상 시간") { test("최소 예상 시간 > 최대 예상 시간") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
runTest( runTest(
token = token, token = token,
using = { using = {
@ -204,7 +204,7 @@ class ThemeApiTest(
} }
test("최대 예상 시간 > 이용 가능 시간") { test("최대 예상 시간 > 이용 가능 시간") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
runTest( runTest(
token = token, token = token,
using = { using = {
@ -234,7 +234,7 @@ class ThemeApiTest(
} }
test("field: minParticipants") { test("field: minParticipants") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
runTest( runTest(
token = token, token = token,
using = { using = {
@ -248,7 +248,7 @@ class ThemeApiTest(
} }
test("field: maxParticipants") { test("field: maxParticipants") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
runTest( runTest(
token = token, token = token,
using = { using = {
@ -264,7 +264,7 @@ class ThemeApiTest(
context("인원 범위가 잘못 지정되면 실패한다.") { context("인원 범위가 잘못 지정되면 실패한다.") {
test("최소 인원 > 최대 인원") { test("최소 인원 > 최대 인원") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
runTest( runTest(
token = token, token = token,
using = { using = {
@ -284,7 +284,7 @@ class ThemeApiTest(
context("입력된 모든 ID에 대한 테마를 조회한다.") { context("입력된 모든 ID에 대한 테마를 조회한다.") {
test("정상 응답") { test("정상 응답") {
val adminToken = authUtil.defaultAdminLogin() val adminToken = authUtil.defaultStoreAdminLogin()
val themeSize = 3 val themeSize = 3
val themeIds = mutableListOf<Long>() val themeIds = mutableListOf<Long>()
@ -309,7 +309,7 @@ class ThemeApiTest(
} }
test("없는 테마가 있으면 생략한다.") { test("없는 테마가 있으면 생략한다.") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
val themeSize = 3 val themeSize = 3
val themeIds = mutableListOf<Long>() val themeIds = mutableListOf<Long>()
@ -363,7 +363,7 @@ class ThemeApiTest(
test("비공개 테마까지 포함하여 간단한 정보만 조회된다.") { test("비공개 테마까지 포함하여 간단한 정보만 조회된다.") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
requests.forEach { dummyInitializer.createTheme(token, it) } requests.forEach { dummyInitializer.createTheme(token, it) }
runTest( runTest(
@ -384,7 +384,7 @@ class ThemeApiTest(
context("예약 페이지에서 테마를 조회한다.") { context("예약 페이지에서 테마를 조회한다.") {
test("공개된 테마의 전체 정보가 조회된다.") { test("공개된 테마의 전체 정보가 조회된다.") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
listOf( listOf(
createRequest.copy(name = "open", isOpen = true), createRequest.copy(name = "open", isOpen = true),
createRequest.copy(name = "close", isOpen = false) createRequest.copy(name = "close", isOpen = false)
@ -447,7 +447,7 @@ class ThemeApiTest(
} }
test("정상 응답") { test("정상 응답") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
val createdTheme = dummyInitializer.createTheme( val createdTheme = dummyInitializer.createTheme(
adminToken = token, adminToken = token,
request = createRequest request = createRequest
@ -475,7 +475,7 @@ class ThemeApiTest(
test("테마가 없으면 실패한다.") { test("테마가 없으면 실패한다.") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.GET, method = HttpMethod.GET,
endpoint = "/admin/themes/$INVALID_PK", endpoint = "/admin/themes/$INVALID_PK",
expectedErrorCode = ThemeErrorCode.THEME_NOT_FOUND expectedErrorCode = ThemeErrorCode.THEME_NOT_FOUND
@ -520,7 +520,7 @@ class ThemeApiTest(
} }
test("정상 삭제") { test("정상 삭제") {
val token = authUtil.defaultAdminLogin() val token = authUtil.defaultStoreAdminLogin()
val createdTheme = dummyInitializer.createTheme( val createdTheme = dummyInitializer.createTheme(
adminToken = token, adminToken = token,
request = createRequest request = createRequest
@ -541,7 +541,7 @@ class ThemeApiTest(
test("테마가 없으면 실패한다.") { test("테마가 없으면 실패한다.") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.DELETE, method = HttpMethod.DELETE,
endpoint = "/admin/themes/$INVALID_PK", endpoint = "/admin/themes/$INVALID_PK",
expectedErrorCode = ThemeErrorCode.THEME_NOT_FOUND expectedErrorCode = ThemeErrorCode.THEME_NOT_FOUND
@ -592,7 +592,7 @@ class ThemeApiTest(
test("정상 수정 및 감사 정보 변경 확인") { test("정상 수정 및 감사 정보 변경 확인") {
val createdTheme: ThemeEntity = dummyInitializer.createTheme( val createdTheme: ThemeEntity = dummyInitializer.createTheme(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
request = createRequest.copy(name = "theme-${Random.nextInt()}") request = createRequest.copy(name = "theme-${Random.nextInt()}")
) )
val otherAdminToken: String = authUtil.adminLogin( val otherAdminToken: String = authUtil.adminLogin(
@ -622,12 +622,12 @@ class ThemeApiTest(
test("입력값이 없으면 수정하지 않는다.") { test("입력값이 없으면 수정하지 않는다.") {
val createdTheme: ThemeEntity = dummyInitializer.createTheme( val createdTheme: ThemeEntity = dummyInitializer.createTheme(
adminToken = authUtil.defaultAdminLogin(), adminToken = authUtil.defaultStoreAdminLogin(),
request = createRequest.copy(name = "theme-${Random.nextInt()}") request = createRequest.copy(name = "theme-${Random.nextInt()}")
) )
runTest( runTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
using = { using = {
body(ThemeUpdateRequest()) body(ThemeUpdateRequest())
}, },
@ -647,7 +647,7 @@ class ThemeApiTest(
test("테마가 없으면 실패한다.") { test("테마가 없으면 실패한다.") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.PATCH, method = HttpMethod.PATCH,
endpoint = "/admin/themes/$INVALID_PK", endpoint = "/admin/themes/$INVALID_PK",
requestBody = updateRequest, requestBody = updateRequest,
@ -656,7 +656,7 @@ class ThemeApiTest(
} }
test("금액이 ${MIN_PRICE}원 미만이면 실패한다.") { test("금액이 ${MIN_PRICE}원 미만이면 실패한다.") {
val adminToken = authUtil.defaultAdminLogin() val adminToken = authUtil.defaultStoreAdminLogin()
val createdTheme: ThemeEntity = dummyInitializer.createTheme( val createdTheme: ThemeEntity = dummyInitializer.createTheme(
adminToken = adminToken, adminToken = adminToken,
request = createRequest.copy(name = "theme-${Random.nextInt()}") request = createRequest.copy(name = "theme-${Random.nextInt()}")
@ -676,7 +676,7 @@ class ThemeApiTest(
lateinit var createdTheme: ThemeEntity lateinit var createdTheme: ThemeEntity
beforeTest { beforeTest {
adminToken = authUtil.defaultAdminLogin() adminToken = authUtil.defaultStoreAdminLogin()
createdTheme = dummyInitializer.createTheme( createdTheme = dummyInitializer.createTheme(
adminToken = adminToken, adminToken = adminToken,
request = createRequest.copy(name = "theme-${Random.nextInt()}") request = createRequest.copy(name = "theme-${Random.nextInt()}")
@ -719,7 +719,7 @@ class ThemeApiTest(
lateinit var createdTheme: ThemeEntity lateinit var createdTheme: ThemeEntity
beforeTest { beforeTest {
adminToken = authUtil.defaultAdminLogin() adminToken = authUtil.defaultStoreAdminLogin()
createdTheme = dummyInitializer.createTheme( createdTheme = dummyInitializer.createTheme(
adminToken = adminToken, adminToken = adminToken,
request = createRequest.copy(name = "theme-${Random.nextInt()}") request = createRequest.copy(name = "theme-${Random.nextInt()}")
@ -760,7 +760,7 @@ class ThemeApiTest(
lateinit var createdTheme: ThemeEntity lateinit var createdTheme: ThemeEntity
beforeTest { beforeTest {
adminToken = authUtil.defaultAdminLogin() adminToken = authUtil.defaultStoreAdminLogin()
createdTheme = dummyInitializer.createTheme( createdTheme = dummyInitializer.createTheme(
adminToken = adminToken, adminToken = adminToken,
request = createRequest.copy(name = "theme-${Random.nextInt()}") request = createRequest.copy(name = "theme-${Random.nextInt()}")
@ -793,7 +793,7 @@ class ThemeApiTest(
lateinit var createdTheme: ThemeEntity lateinit var createdTheme: ThemeEntity
beforeTest { beforeTest {
adminToken = authUtil.defaultAdminLogin() adminToken = authUtil.defaultStoreAdminLogin()
createdTheme = dummyInitializer.createTheme( createdTheme = dummyInitializer.createTheme(
adminToken = adminToken, adminToken = adminToken,
request = createRequest.copy(name = "theme-${Random.nextInt()}") request = createRequest.copy(name = "theme-${Random.nextInt()}")

View File

@ -145,7 +145,7 @@ class UserApiTest(
test("관리자") { test("관리자") {
runExceptionTest( runExceptionTest(
token = authUtil.defaultAdminLogin(), token = authUtil.defaultStoreAdminLogin(),
method = HttpMethod.GET, method = HttpMethod.GET,
endpoint = endpoint, endpoint = endpoint,
expectedErrorCode = AuthErrorCode.ACCESS_DENIED expectedErrorCode = AuthErrorCode.ACCESS_DENIED