[#34] 회원 / 인증 도메인 재정의 #43

Merged
pricelees merged 73 commits from refactor/#34 into main 2025-09-13 10:13:45 +00:00
2 changed files with 66 additions and 1 deletions
Showing only changes of commit f32613d6d9 - Show all commits

View File

@ -1,8 +1,15 @@
package roomescape.util package roomescape.util
import com.github.f4b6a3.tsid.TsidFactory import com.github.f4b6a3.tsid.TsidFactory
import roomescape.admin.infrastructure.persistence.AdminEntity
import roomescape.admin.infrastructure.persistence.AdminPermissionLevel
import roomescape.common.config.next
import roomescape.member.infrastructure.persistence.MemberEntity import roomescape.member.infrastructure.persistence.MemberEntity
import roomescape.member.infrastructure.persistence.Role import roomescape.member.infrastructure.persistence.Role
import roomescape.member.infrastructure.persistence.UserEntity
import roomescape.member.infrastructure.persistence.UserStatus
import roomescape.member.web.MIN_PASSWORD_LENGTH
import roomescape.member.web.UserCreateRequest
import roomescape.payment.infrastructure.client.* import roomescape.payment.infrastructure.client.*
import roomescape.payment.infrastructure.common.* import roomescape.payment.infrastructure.common.*
import roomescape.payment.web.PaymentCancelRequest import roomescape.payment.web.PaymentCancelRequest
@ -36,6 +43,56 @@ object MemberFixture {
) )
} }
object AdminFixture {
val default: AdminEntity = create()
fun create(
id: Long = tsidFactory.next(),
account: String = "admin",
password: String = "adminPassword",
name: String = "admin12345",
phone: String = "01012345678",
permissionLevel: AdminPermissionLevel = AdminPermissionLevel.FULL_ACCESS
): AdminEntity = AdminEntity(
id = id,
account = account,
password = password,
name = name,
phone = phone,
permissionLevel = permissionLevel
)
}
object UserFixture {
val default: UserEntity = createUser()
fun createUser(
id: Long = tsidFactory.next(),
name: String = "sample",
email: String = "sample@example.com",
password: String = "a".repeat(MIN_PASSWORD_LENGTH),
phone: String = "01012345678",
regionCode: String = "1130510300",
status: UserStatus = UserStatus.ACTIVE
): UserEntity = UserEntity(
id = id,
name = name,
email = email,
password = password,
phone = phone,
regionCode = regionCode,
status = status
)
val createRequest: UserCreateRequest = UserCreateRequest(
name = "sample",
email = "sample@example.com",
password = "a".repeat(MIN_PASSWORD_LENGTH),
phone = "01012345678",
regionCode = "1130510300"
)
}
object ThemeFixture { object ThemeFixture {
val createRequest: ThemeCreateRequest = ThemeCreateRequest( val createRequest: ThemeCreateRequest = ThemeCreateRequest(
name = "Matilda Green", name = "Matilda Green",

View File

@ -12,7 +12,9 @@ import org.springframework.boot.test.context.TestConfiguration
import org.springframework.boot.test.web.server.LocalServerPort import org.springframework.boot.test.web.server.LocalServerPort
import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Import import org.springframework.context.annotation.Import
import roomescape.admin.infrastructure.persistence.AdminRepository
import roomescape.member.infrastructure.persistence.MemberRepository import roomescape.member.infrastructure.persistence.MemberRepository
import roomescape.member.infrastructure.persistence.UserRepository
import roomescape.payment.business.PaymentWriter import roomescape.payment.business.PaymentWriter
import roomescape.payment.infrastructure.persistence.PaymentRepository import roomescape.payment.infrastructure.persistence.PaymentRepository
import roomescape.reservation.infrastructure.persistence.ReservationRepository import roomescape.reservation.infrastructure.persistence.ReservationRepository
@ -32,6 +34,12 @@ abstract class FunSpecSpringbootTest : FunSpec({
@Autowired @Autowired
private lateinit var memberRepository: MemberRepository private lateinit var memberRepository: MemberRepository
@Autowired
private lateinit var userRepository: UserRepository
@Autowired
private lateinit var adminRepository: AdminRepository
@Autowired @Autowired
lateinit var dummyInitializer: DummyInitializer lateinit var dummyInitializer: DummyInitializer
@ -42,7 +50,7 @@ abstract class FunSpecSpringbootTest : FunSpec({
override suspend fun beforeSpec(spec: Spec) { override suspend fun beforeSpec(spec: Spec) {
RestAssured.port = port RestAssured.port = port
authUtil = AuthUtil(memberRepository) authUtil = AuthUtil(memberRepository, userRepository, adminRepository)
} }
} }