[#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 4a30cc8c14 - Show all commits

View File

@ -9,6 +9,7 @@ import org.springframework.http.HttpStatus
import org.springframework.http.MediaType import org.springframework.http.MediaType
import roomescape.admin.infrastructure.persistence.AdminEntity import roomescape.admin.infrastructure.persistence.AdminEntity
import roomescape.admin.infrastructure.persistence.AdminRepository import roomescape.admin.infrastructure.persistence.AdminRepository
import roomescape.admin.infrastructure.persistence.AdminType
import roomescape.auth.web.LoginRequest import roomescape.auth.web.LoginRequest
import roomescape.common.dto.PrincipalType import roomescape.common.dto.PrincipalType
import roomescape.store.infrastructure.persistence.StoreRepository import roomescape.store.infrastructure.persistence.StoreRepository
@ -24,16 +25,23 @@ class TestAuthUtil(
fun createAdmin(admin: AdminEntity): AdminEntity { fun createAdmin(admin: AdminEntity): AdminEntity {
println("[TestAuthUtil] 관리자 생성 시작. id=${admin.id}") println("[TestAuthUtil] 관리자 생성 시작. id=${admin.id}")
if (adminRepository.findByIdOrNull(admin.id) != null) {
println("[TestAuthUtil] 관리자 존재. 생성 종료: id=${admin.id}")
return admin
}
val storeId = admin.storeId val storeId = admin.storeId
if (storeId != null && storeRepository.findByIdOrNull(storeId) == null) { if (admin.type == AdminType.STORE) {
println("[TestAuthUtil] 매장 정보 없음. 매장 생성 시작. storeId=${storeId} adminId=${admin.id}") if (storeRepository.findByIdOrNull(storeId!!) == null) {
storeRepository.save( println("[TestAuthUtil] 매장 정보 없음. 매장 생성 시작. storeId=${storeId} adminId=${admin.id}")
StoreFixture.create( storeRepository.save(
id = storeId, StoreFixture.create(
businessRegNum = randomBusinessRegNum(), id = storeId,
) businessRegNum = randomBusinessRegNum(),
).also { )
println("[TestAuthUtil] 매장 생성 완료. storeId=${storeId} adminId=${admin.id}") ).also {
println("[TestAuthUtil] 매장 생성 완료. storeId=${storeId} adminId=${admin.id}")
}
} }
} }
@ -60,10 +68,11 @@ class TestAuthUtil(
?: throw AssertionError("Unexpected Exception Occurred.") ?: throw AssertionError("Unexpected Exception Occurred.")
} }
fun adminLogin(admin: AdminEntity): String { fun adminLogin(admin: AdminEntity): Pair<AdminEntity, String> {
println("[TestAuthUtil] 관리자 로그인 시작. id=${admin.id}, account=${admin.account}") println("[TestAuthUtil] 관리자 로그인 시작. id=${admin.id}, account=${admin.account}")
val saved = createAdmin(admin) createAdmin(admin)
val requestBody = LoginRequest(saved.account, saved.password, PrincipalType.ADMIN)
val requestBody = LoginRequest(admin.account, admin.password, PrincipalType.ADMIN)
val token: String = Given { val token: String = Given {
contentType(MediaType.APPLICATION_JSON_VALUE) contentType(MediaType.APPLICATION_JSON_VALUE)
@ -76,11 +85,11 @@ class TestAuthUtil(
path("data.accessToken") path("data.accessToken")
} }
return token.also { println("[TestAuthUtil] 관리자 로그인 완료. id=${admin.id}, account=${admin.account}") } return admin to token.also { println("[TestAuthUtil] 관리자 로그인 완료. id=${admin.id}, account=${admin.account}") }
} }
fun defaultStoreAdminLogin(): String = adminLogin(AdminFixture.storeDefault) fun defaultStoreAdminLogin(): Pair<AdminEntity, String> = adminLogin(AdminFixture.storeDefault)
fun defaultHqAdminLogin(): String = adminLogin(AdminFixture.hqDefault) fun defaultHqAdminLogin(): Pair<AdminEntity, String> = adminLogin(AdminFixture.hqDefault)
fun userLogin(user: UserEntity): String { fun userLogin(user: UserEntity): String {
println("[TestAuthUtil] 회원 로그인 시작. id=${user.id}, email=${user.email}") println("[TestAuthUtil] 회원 로그인 시작. id=${user.id}, email=${user.email}")