diff --git a/src/test/kotlin/roomescape/util/Fixtures.kt b/src/test/kotlin/roomescape/util/Fixtures.kt index a4eb0d8a..4abd39f9 100644 --- a/src/test/kotlin/roomescape/util/Fixtures.kt +++ b/src/test/kotlin/roomescape/util/Fixtures.kt @@ -1,8 +1,15 @@ package roomescape.util 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.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.common.* 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 { val createRequest: ThemeCreateRequest = ThemeCreateRequest( name = "Matilda Green", diff --git a/src/test/kotlin/roomescape/util/KotestConfig.kt b/src/test/kotlin/roomescape/util/KotestConfig.kt index 91c80938..5342a5e3 100644 --- a/src/test/kotlin/roomescape/util/KotestConfig.kt +++ b/src/test/kotlin/roomescape/util/KotestConfig.kt @@ -12,7 +12,9 @@ import org.springframework.boot.test.context.TestConfiguration import org.springframework.boot.test.web.server.LocalServerPort import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Import +import roomescape.admin.infrastructure.persistence.AdminRepository import roomescape.member.infrastructure.persistence.MemberRepository +import roomescape.member.infrastructure.persistence.UserRepository import roomescape.payment.business.PaymentWriter import roomescape.payment.infrastructure.persistence.PaymentRepository import roomescape.reservation.infrastructure.persistence.ReservationRepository @@ -32,6 +34,12 @@ abstract class FunSpecSpringbootTest : FunSpec({ @Autowired private lateinit var memberRepository: MemberRepository + @Autowired + private lateinit var userRepository: UserRepository + + @Autowired + private lateinit var adminRepository: AdminRepository + @Autowired lateinit var dummyInitializer: DummyInitializer @@ -42,7 +50,7 @@ abstract class FunSpecSpringbootTest : FunSpec({ override suspend fun beforeSpec(spec: Spec) { RestAssured.port = port - authUtil = AuthUtil(memberRepository) + authUtil = AuthUtil(memberRepository, userRepository, adminRepository) } }