From 4a30cc8c14db5727bad27f5e0282fad4294cb5c0 Mon Sep 17 00:00:00 2001 From: pricelees Date: Thu, 18 Sep 2025 15:42:15 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B4=80=EB=A6=AC=EC=9E=90=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=EC=8B=9C=20type,=20storeId=20=EC=B6=A9=EB=8F=8C=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0=20=EB=B0=8F=20=EB=B0=98=ED=99=98=20=ED=83=80?= =?UTF-8?q?=EC=9E=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../roomescape/supports/TestAuthUtil.kt | 39 ++++++++++++------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/src/test/kotlin/roomescape/supports/TestAuthUtil.kt b/src/test/kotlin/roomescape/supports/TestAuthUtil.kt index a429c424..f9c345fc 100644 --- a/src/test/kotlin/roomescape/supports/TestAuthUtil.kt +++ b/src/test/kotlin/roomescape/supports/TestAuthUtil.kt @@ -9,6 +9,7 @@ import org.springframework.http.HttpStatus import org.springframework.http.MediaType import roomescape.admin.infrastructure.persistence.AdminEntity import roomescape.admin.infrastructure.persistence.AdminRepository +import roomescape.admin.infrastructure.persistence.AdminType import roomescape.auth.web.LoginRequest import roomescape.common.dto.PrincipalType import roomescape.store.infrastructure.persistence.StoreRepository @@ -24,16 +25,23 @@ class TestAuthUtil( fun createAdmin(admin: AdminEntity): AdminEntity { println("[TestAuthUtil] 관리자 생성 시작. id=${admin.id}") + if (adminRepository.findByIdOrNull(admin.id) != null) { + println("[TestAuthUtil] 관리자 존재. 생성 종료: id=${admin.id}") + return admin + } + val storeId = admin.storeId - if (storeId != null && storeRepository.findByIdOrNull(storeId) == null) { - println("[TestAuthUtil] 매장 정보 없음. 매장 생성 시작. storeId=${storeId} adminId=${admin.id}") - storeRepository.save( - StoreFixture.create( - id = storeId, - businessRegNum = randomBusinessRegNum(), - ) - ).also { - println("[TestAuthUtil] 매장 생성 완료. storeId=${storeId} adminId=${admin.id}") + if (admin.type == AdminType.STORE) { + if (storeRepository.findByIdOrNull(storeId!!) == null) { + println("[TestAuthUtil] 매장 정보 없음. 매장 생성 시작. storeId=${storeId} adminId=${admin.id}") + storeRepository.save( + StoreFixture.create( + id = storeId, + businessRegNum = randomBusinessRegNum(), + ) + ).also { + println("[TestAuthUtil] 매장 생성 완료. storeId=${storeId} adminId=${admin.id}") + } } } @@ -60,10 +68,11 @@ class TestAuthUtil( ?: throw AssertionError("Unexpected Exception Occurred.") } - fun adminLogin(admin: AdminEntity): String { + fun adminLogin(admin: AdminEntity): Pair { println("[TestAuthUtil] 관리자 로그인 시작. id=${admin.id}, account=${admin.account}") - val saved = createAdmin(admin) - val requestBody = LoginRequest(saved.account, saved.password, PrincipalType.ADMIN) + createAdmin(admin) + + val requestBody = LoginRequest(admin.account, admin.password, PrincipalType.ADMIN) val token: String = Given { contentType(MediaType.APPLICATION_JSON_VALUE) @@ -76,11 +85,11 @@ class TestAuthUtil( 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 defaultHqAdminLogin(): String = adminLogin(AdminFixture.hqDefault) + fun defaultStoreAdminLogin(): Pair = adminLogin(AdminFixture.storeDefault) + fun defaultHqAdminLogin(): Pair = adminLogin(AdminFixture.hqDefault) fun userLogin(user: UserEntity): String { println("[TestAuthUtil] 회원 로그인 시작. id=${user.id}, email=${user.email}")