generated from pricelees/issue-pr-template
refactor: common.persistence 모듈 분리로 인한 기존 테스트 코드 수정
This commit is contained in:
parent
07869020be
commit
81572246d2
@ -1,13 +1,12 @@
|
|||||||
package com.sangdol.roomescape.auth
|
package com.sangdol.roomescape.auth
|
||||||
|
|
||||||
import io.kotest.assertions.throwables.shouldThrow
|
|
||||||
import io.kotest.core.spec.style.FunSpec
|
|
||||||
import io.kotest.matchers.shouldBe
|
|
||||||
import com.sangdol.roomescape.auth.exception.AuthErrorCode
|
import com.sangdol.roomescape.auth.exception.AuthErrorCode
|
||||||
import com.sangdol.roomescape.auth.exception.AuthException
|
import com.sangdol.roomescape.auth.exception.AuthException
|
||||||
import com.sangdol.roomescape.auth.infrastructure.jwt.JwtUtils
|
import com.sangdol.roomescape.auth.infrastructure.jwt.JwtUtils
|
||||||
import com.sangdol.roomescape.common.config.next
|
import com.sangdol.roomescape.supports.IDGenerator
|
||||||
import com.sangdol.roomescape.supports.tsidFactory
|
import io.kotest.assertions.throwables.shouldThrow
|
||||||
|
import io.kotest.core.spec.style.FunSpec
|
||||||
|
import io.kotest.matchers.shouldBe
|
||||||
|
|
||||||
class JwtUtilsTest : FunSpec() {
|
class JwtUtilsTest : FunSpec() {
|
||||||
private val jwtUtils: JwtUtils = JwtUtils(
|
private val jwtUtils: JwtUtils = JwtUtils(
|
||||||
@ -18,7 +17,7 @@ class JwtUtilsTest : FunSpec() {
|
|||||||
init {
|
init {
|
||||||
context("종합 테스트") {
|
context("종합 테스트") {
|
||||||
test("Subject + Claim을 담아 토큰을 생성한 뒤 읽어온다.") {
|
test("Subject + Claim을 담아 토큰을 생성한 뒤 읽어온다.") {
|
||||||
val subject = "${tsidFactory.next()}"
|
val subject = "${IDGenerator.create()}"
|
||||||
val claim = mapOf("name" to "sangdol")
|
val claim = mapOf("name" to "sangdol")
|
||||||
|
|
||||||
jwtUtils.createToken(subject, claim).also { token ->
|
jwtUtils.createToken(subject, claim).also { token ->
|
||||||
@ -32,7 +31,7 @@ class JwtUtilsTest : FunSpec() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
context("실패 테스트") {
|
context("실패 테스트") {
|
||||||
val subject = "${tsidFactory.next()}"
|
val subject = "${IDGenerator.create()}"
|
||||||
val claim = mapOf("name" to "sangdol")
|
val claim = mapOf("name" to "sangdol")
|
||||||
val commonToken = jwtUtils.createToken(subject, claim)
|
val commonToken = jwtUtils.createToken(subject, claim)
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1,12 +1,10 @@
|
|||||||
package com.sangdol.roomescape.data
|
package com.sangdol.roomescape.data
|
||||||
|
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook
|
|
||||||
import com.sangdol.roomescape.common.config.next
|
|
||||||
import com.sangdol.roomescape.store.infrastructure.persistence.StoreStatus
|
import com.sangdol.roomescape.store.infrastructure.persistence.StoreStatus
|
||||||
|
import com.sangdol.roomescape.supports.IDGenerator
|
||||||
import com.sangdol.roomescape.supports.randomPhoneNumber
|
import com.sangdol.roomescape.supports.randomPhoneNumber
|
||||||
import com.sangdol.roomescape.supports.tsidFactory
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.nio.file.Paths
|
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
import java.time.ZoneId
|
import java.time.ZoneId
|
||||||
import java.time.format.DateTimeFormatter
|
import java.time.format.DateTimeFormatter
|
||||||
@ -146,7 +144,7 @@ class StoreDataInitializer {
|
|||||||
val createdAt = randomLocalDateTime()
|
val createdAt = randomLocalDateTime()
|
||||||
val updatedAt = createdAt
|
val updatedAt = createdAt
|
||||||
|
|
||||||
val id: Long = tsidFactory.next().also { storeIds.add(it) }
|
val id: Long = IDGenerator.create().also { storeIds.add(it) }
|
||||||
|
|
||||||
val createdBy = creatableAdminIds.random()
|
val createdBy = creatableAdminIds.random()
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
package com.sangdol.roomescape.supports
|
package com.sangdol.roomescape.supports
|
||||||
|
|
||||||
import org.springframework.data.repository.findByIdOrNull
|
|
||||||
import com.sangdol.roomescape.common.config.next
|
|
||||||
import com.sangdol.roomescape.payment.business.PaymentWriter
|
import com.sangdol.roomescape.payment.business.PaymentWriter
|
||||||
import com.sangdol.roomescape.payment.infrastructure.client.CardDetail
|
import com.sangdol.roomescape.payment.infrastructure.client.CardDetail
|
||||||
import com.sangdol.roomescape.payment.infrastructure.client.EasyPayDetail
|
import com.sangdol.roomescape.payment.infrastructure.client.EasyPayDetail
|
||||||
@ -31,6 +29,7 @@ import com.sangdol.roomescape.theme.infrastructure.persistence.ThemeRepository
|
|||||||
import com.sangdol.roomescape.theme.web.ThemeCreateRequest
|
import com.sangdol.roomescape.theme.web.ThemeCreateRequest
|
||||||
import com.sangdol.roomescape.theme.web.toEntity
|
import com.sangdol.roomescape.theme.web.toEntity
|
||||||
import com.sangdol.roomescape.user.infrastructure.persistence.UserEntity
|
import com.sangdol.roomescape.user.infrastructure.persistence.UserEntity
|
||||||
|
import org.springframework.data.repository.findByIdOrNull
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
class DummyInitializer(
|
class DummyInitializer(
|
||||||
@ -43,7 +42,7 @@ class DummyInitializer(
|
|||||||
) {
|
) {
|
||||||
|
|
||||||
fun createStore(
|
fun createStore(
|
||||||
id: Long = tsidFactory.next(),
|
id: Long = IDGenerator.create(),
|
||||||
name: String = "행복${randomPhoneNumber()}호점",
|
name: String = "행복${randomPhoneNumber()}호점",
|
||||||
address: String = "강북구 행복로 $name",
|
address: String = "강북구 행복로 $name",
|
||||||
contact: String = randomPhoneNumber(),
|
contact: String = randomPhoneNumber(),
|
||||||
@ -71,11 +70,11 @@ class DummyInitializer(
|
|||||||
fun createTheme(
|
fun createTheme(
|
||||||
request: ThemeCreateRequest = ThemeFixture.createRequest
|
request: ThemeCreateRequest = ThemeFixture.createRequest
|
||||||
): ThemeEntity {
|
): ThemeEntity {
|
||||||
return request.toEntity(tsidFactory.next()).also { themeRepository.save(it) }
|
return request.toEntity(IDGenerator.create()).also { themeRepository.save(it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun createSchedule(
|
fun createSchedule(
|
||||||
storeId: Long = tsidFactory.next(),
|
storeId: Long = IDGenerator.create(),
|
||||||
request: ScheduleCreateRequest = ScheduleFixture.createRequest,
|
request: ScheduleCreateRequest = ScheduleFixture.createRequest,
|
||||||
status: ScheduleStatus = ScheduleStatus.AVAILABLE
|
status: ScheduleStatus = ScheduleStatus.AVAILABLE
|
||||||
): ScheduleEntity {
|
): ScheduleEntity {
|
||||||
@ -102,7 +101,7 @@ class DummyInitializer(
|
|||||||
|
|
||||||
fun createPendingReservation(
|
fun createPendingReservation(
|
||||||
user: UserEntity,
|
user: UserEntity,
|
||||||
storeId: Long = tsidFactory.next(),
|
storeId: Long = IDGenerator.create(),
|
||||||
themeRequest: ThemeCreateRequest = ThemeFixture.createRequest,
|
themeRequest: ThemeCreateRequest = ThemeFixture.createRequest,
|
||||||
scheduleRequest: ScheduleCreateRequest = ScheduleFixture.createRequest,
|
scheduleRequest: ScheduleCreateRequest = ScheduleFixture.createRequest,
|
||||||
reservationRequest: PendingReservationCreateRequest = ReservationFixture.pendingCreateRequest,
|
reservationRequest: PendingReservationCreateRequest = ReservationFixture.pendingCreateRequest,
|
||||||
@ -129,14 +128,14 @@ class DummyInitializer(
|
|||||||
reserverContact = reservationRequest.reserverContact,
|
reserverContact = reservationRequest.reserverContact,
|
||||||
participantCount = reservationRequest.participantCount,
|
participantCount = reservationRequest.participantCount,
|
||||||
requirement = reservationRequest.requirement,
|
requirement = reservationRequest.requirement,
|
||||||
).toEntity(id = tsidFactory.next(), userId = user.id)
|
).toEntity(id = IDGenerator.create(), userId = user.id)
|
||||||
|
|
||||||
return reservationRepository.save(reservation)
|
return reservationRepository.save(reservation)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun createConfirmReservation(
|
fun createConfirmReservation(
|
||||||
user: UserEntity,
|
user: UserEntity,
|
||||||
storeId: Long = tsidFactory.next(),
|
storeId: Long = IDGenerator.create(),
|
||||||
themeRequest: ThemeCreateRequest = ThemeFixture.createRequest,
|
themeRequest: ThemeCreateRequest = ThemeFixture.createRequest,
|
||||||
scheduleRequest: ScheduleCreateRequest = ScheduleFixture.createRequest,
|
scheduleRequest: ScheduleCreateRequest = ScheduleFixture.createRequest,
|
||||||
reservationRequest: PendingReservationCreateRequest = ReservationFixture.pendingCreateRequest,
|
reservationRequest: PendingReservationCreateRequest = ReservationFixture.pendingCreateRequest,
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
package com.sangdol.roomescape.supports
|
package com.sangdol.roomescape.supports
|
||||||
|
|
||||||
import com.github.f4b6a3.tsid.TsidFactory
|
import com.github.f4b6a3.tsid.TsidFactory
|
||||||
|
import com.sangdol.common.persistence.TsidIDGenerator
|
||||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminEntity
|
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminEntity
|
||||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminPermissionLevel
|
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminPermissionLevel
|
||||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
|
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
|
||||||
import com.sangdol.roomescape.common.config.next
|
|
||||||
import com.sangdol.roomescape.payment.infrastructure.client.*
|
import com.sangdol.roomescape.payment.infrastructure.client.*
|
||||||
import com.sangdol.roomescape.payment.infrastructure.common.*
|
import com.sangdol.roomescape.payment.infrastructure.common.*
|
||||||
import com.sangdol.roomescape.payment.web.PaymentCancelRequest
|
import com.sangdol.roomescape.payment.web.PaymentCancelRequest
|
||||||
@ -28,7 +28,7 @@ import java.time.LocalTime
|
|||||||
import java.time.OffsetDateTime
|
import java.time.OffsetDateTime
|
||||||
|
|
||||||
const val INVALID_PK: Long = 9999L
|
const val INVALID_PK: Long = 9999L
|
||||||
val tsidFactory = TsidFactory(0)
|
val IDGenerator = TsidIDGenerator(TsidFactory(0))
|
||||||
|
|
||||||
object StoreFixture {
|
object StoreFixture {
|
||||||
val registerRequest = StoreRegisterRequest(
|
val registerRequest = StoreRegisterRequest(
|
||||||
@ -40,7 +40,7 @@ object StoreFixture {
|
|||||||
)
|
)
|
||||||
|
|
||||||
fun create(
|
fun create(
|
||||||
id: Long = tsidFactory.next(),
|
id: Long = IDGenerator.create(),
|
||||||
name: String = "행복${randomPhoneNumber()}호점",
|
name: String = "행복${randomPhoneNumber()}호점",
|
||||||
address: String = "서울특별시 강북구 행복${randomPhoneNumber()}길",
|
address: String = "서울특별시 강북구 행복${randomPhoneNumber()}길",
|
||||||
contact: String = randomPhoneNumber(),
|
contact: String = randomPhoneNumber(),
|
||||||
@ -72,12 +72,12 @@ object AdminFixture {
|
|||||||
)
|
)
|
||||||
|
|
||||||
fun createStoreAdmin(
|
fun createStoreAdmin(
|
||||||
id: Long = tsidFactory.next(),
|
id: Long = IDGenerator.create(),
|
||||||
account: String = randomString(),
|
account: String = randomString(),
|
||||||
password: String = "adminPassword",
|
password: String = "adminPassword",
|
||||||
name: String = "admin12345",
|
name: String = "admin12345",
|
||||||
phone: String = randomPhoneNumber(),
|
phone: String = randomPhoneNumber(),
|
||||||
storeId: Long = tsidFactory.next(),
|
storeId: Long = IDGenerator.create(),
|
||||||
permissionLevel: AdminPermissionLevel = AdminPermissionLevel.FULL_ACCESS
|
permissionLevel: AdminPermissionLevel = AdminPermissionLevel.FULL_ACCESS
|
||||||
): AdminEntity {
|
): AdminEntity {
|
||||||
return create(
|
return create(
|
||||||
@ -93,7 +93,7 @@ object AdminFixture {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun createHqAdmin(
|
fun createHqAdmin(
|
||||||
id: Long = tsidFactory.next(),
|
id: Long = IDGenerator.create(),
|
||||||
account: String = randomString(),
|
account: String = randomString(),
|
||||||
password: String = "adminPassword",
|
password: String = "adminPassword",
|
||||||
name: String = "admin12345",
|
name: String = "admin12345",
|
||||||
@ -113,13 +113,13 @@ object AdminFixture {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun create(
|
fun create(
|
||||||
id: Long = tsidFactory.next(),
|
id: Long = IDGenerator.create(),
|
||||||
account: String = randomString(),
|
account: String = randomString(),
|
||||||
password: String = "adminPassword",
|
password: String = "adminPassword",
|
||||||
name: String = "admin",
|
name: String = "admin",
|
||||||
phone: String = randomPhoneNumber(),
|
phone: String = randomPhoneNumber(),
|
||||||
type: AdminType = AdminType.STORE,
|
type: AdminType = AdminType.STORE,
|
||||||
storeId: Long? = tsidFactory.next(),
|
storeId: Long? = IDGenerator.create(),
|
||||||
permissionLevel: AdminPermissionLevel = AdminPermissionLevel.FULL_ACCESS
|
permissionLevel: AdminPermissionLevel = AdminPermissionLevel.FULL_ACCESS
|
||||||
): AdminEntity {
|
): AdminEntity {
|
||||||
val storeId = if (type == AdminType.HQ) null else storeId
|
val storeId = if (type == AdminType.HQ) null else storeId
|
||||||
@ -144,7 +144,7 @@ object UserFixture {
|
|||||||
)
|
)
|
||||||
|
|
||||||
fun createUser(
|
fun createUser(
|
||||||
id: Long = tsidFactory.next(),
|
id: Long = IDGenerator.create(),
|
||||||
name: String = randomString(),
|
name: String = randomString(),
|
||||||
email: String = randomEmail(),
|
email: String = randomEmail(),
|
||||||
password: String = "a".repeat(MIN_PASSWORD_LENGTH),
|
password: String = "a".repeat(MIN_PASSWORD_LENGTH),
|
||||||
@ -186,7 +186,7 @@ object ThemeFixture {
|
|||||||
)
|
)
|
||||||
|
|
||||||
fun create(
|
fun create(
|
||||||
id: Long = tsidFactory.next(),
|
id: Long = IDGenerator.create(),
|
||||||
name: String = randomString(),
|
name: String = randomString(),
|
||||||
description: String = randomString(),
|
description: String = randomString(),
|
||||||
thumbnailUrl: String = "http://www.bing.com/search?q=fugit",
|
thumbnailUrl: String = "http://www.bing.com/search?q=fugit",
|
||||||
@ -218,15 +218,15 @@ object ScheduleFixture {
|
|||||||
val createRequest: ScheduleCreateRequest = ScheduleCreateRequest(
|
val createRequest: ScheduleCreateRequest = ScheduleCreateRequest(
|
||||||
date = LocalDate.now().plusDays(1),
|
date = LocalDate.now().plusDays(1),
|
||||||
time = LocalTime.now(),
|
time = LocalTime.now(),
|
||||||
themeId = tsidFactory.next()
|
themeId = IDGenerator.create()
|
||||||
)
|
)
|
||||||
|
|
||||||
fun create(
|
fun create(
|
||||||
id: Long = tsidFactory.next(),
|
id: Long = IDGenerator.create(),
|
||||||
date: LocalDate = LocalDate.now().plusDays(1),
|
date: LocalDate = LocalDate.now().plusDays(1),
|
||||||
time: LocalTime = LocalTime.now(),
|
time: LocalTime = LocalTime.now(),
|
||||||
storeId: Long = tsidFactory.next(),
|
storeId: Long = IDGenerator.create(),
|
||||||
themeId: Long = tsidFactory.next()
|
themeId: Long = IDGenerator.create()
|
||||||
): ScheduleEntity = ScheduleEntityFactory.create(
|
): ScheduleEntity = ScheduleEntityFactory.create(
|
||||||
id = id,
|
id = id,
|
||||||
date = date,
|
date = date,
|
||||||
@ -245,7 +245,7 @@ object PaymentFixture {
|
|||||||
)
|
)
|
||||||
|
|
||||||
val cancelRequest: PaymentCancelRequest = PaymentCancelRequest(
|
val cancelRequest: PaymentCancelRequest = PaymentCancelRequest(
|
||||||
reservationId = tsidFactory.next(),
|
reservationId = IDGenerator.create(),
|
||||||
cancelReason = "cancelReason",
|
cancelReason = "cancelReason",
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -322,7 +322,7 @@ object PaymentFixture {
|
|||||||
|
|
||||||
object ReservationFixture {
|
object ReservationFixture {
|
||||||
val pendingCreateRequest: PendingReservationCreateRequest = PendingReservationCreateRequest(
|
val pendingCreateRequest: PendingReservationCreateRequest = PendingReservationCreateRequest(
|
||||||
scheduleId = tsidFactory.next(),
|
scheduleId = IDGenerator.create(),
|
||||||
reserverName = "Wilbur Stuart",
|
reserverName = "Wilbur Stuart",
|
||||||
reserverContact = "wilbur@example.com",
|
reserverContact = "wilbur@example.com",
|
||||||
participantCount = 5,
|
participantCount = 5,
|
||||||
|
|||||||
@ -1,11 +1,5 @@
|
|||||||
package com.sangdol.roomescape.theme
|
package com.sangdol.roomescape.theme
|
||||||
|
|
||||||
import io.kotest.matchers.collections.shouldContainInOrder
|
|
||||||
import io.kotest.matchers.collections.shouldHaveSize
|
|
||||||
import org.hamcrest.CoreMatchers.equalTo
|
|
||||||
import org.springframework.http.HttpMethod
|
|
||||||
import org.springframework.http.HttpStatus
|
|
||||||
import com.sangdol.roomescape.common.config.next
|
|
||||||
import com.sangdol.roomescape.common.util.DateUtils
|
import com.sangdol.roomescape.common.util.DateUtils
|
||||||
import com.sangdol.roomescape.supports.*
|
import com.sangdol.roomescape.supports.*
|
||||||
import com.sangdol.roomescape.theme.exception.ThemeErrorCode
|
import com.sangdol.roomescape.theme.exception.ThemeErrorCode
|
||||||
@ -14,6 +8,11 @@ import com.sangdol.roomescape.theme.infrastructure.persistence.ThemeRepository
|
|||||||
import com.sangdol.roomescape.theme.web.ThemeInfoResponse
|
import com.sangdol.roomescape.theme.web.ThemeInfoResponse
|
||||||
import com.sangdol.roomescape.theme.web.toEntity
|
import com.sangdol.roomescape.theme.web.toEntity
|
||||||
import com.sangdol.roomescape.user.infrastructure.persistence.UserEntity
|
import com.sangdol.roomescape.user.infrastructure.persistence.UserEntity
|
||||||
|
import io.kotest.matchers.collections.shouldContainInOrder
|
||||||
|
import io.kotest.matchers.collections.shouldHaveSize
|
||||||
|
import org.hamcrest.CoreMatchers.equalTo
|
||||||
|
import org.springframework.http.HttpMethod
|
||||||
|
import org.springframework.http.HttpStatus
|
||||||
import java.time.LocalDate
|
import java.time.LocalDate
|
||||||
|
|
||||||
class ThemeApiTest(
|
class ThemeApiTest(
|
||||||
@ -78,7 +77,7 @@ class ThemeApiTest(
|
|||||||
val user: UserEntity = testAuthUtil.defaultUser()
|
val user: UserEntity = testAuthUtil.defaultUser()
|
||||||
|
|
||||||
val themeIds: List<Long> = (1..5).map {
|
val themeIds: List<Long> = (1..5).map {
|
||||||
themeRepository.save(ThemeFixture.createRequest.copy().toEntity(id = tsidFactory.next())).id
|
themeRepository.save(ThemeFixture.createRequest.copy().toEntity(id = IDGenerator.create())).id
|
||||||
}
|
}
|
||||||
|
|
||||||
val store = dummyInitializer.createStore()
|
val store = dummyInitializer.createStore()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user