generated from pricelees/issue-pr-template
feat: 관리자 생성시 type, storeId 충돌 해결 및 반환 타입 수정
This commit is contained in:
parent
522d64cc8a
commit
4a30cc8c14
@ -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}")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user