test: \@User 어노테이션 처리시 토큰 조회 오류 테스트 케이스 추가

This commit is contained in:
이상진 2025-09-18 20:27:59 +09:00
parent 42f0c8bcd3
commit ed8b48712e

View File

@ -1,7 +1,9 @@
package roomescape.user package roomescape.user
import com.ninjasquad.springmockk.SpykBean
import io.kotest.assertions.assertSoftly import io.kotest.assertions.assertSoftly
import io.kotest.matchers.shouldBe import io.kotest.matchers.shouldBe
import io.mockk.every
import io.restassured.module.kotlin.extensions.Extract import io.restassured.module.kotlin.extensions.Extract
import io.restassured.module.kotlin.extensions.Given import io.restassured.module.kotlin.extensions.Given
import io.restassured.module.kotlin.extensions.Then import io.restassured.module.kotlin.extensions.Then
@ -12,6 +14,7 @@ import org.springframework.http.HttpMethod
import org.springframework.http.HttpStatus import org.springframework.http.HttpStatus
import org.springframework.http.MediaType import org.springframework.http.MediaType
import roomescape.auth.exception.AuthErrorCode import roomescape.auth.exception.AuthErrorCode
import roomescape.auth.infrastructure.jwt.JwtUtils
import roomescape.common.exception.CommonErrorCode import roomescape.common.exception.CommonErrorCode
import roomescape.user.business.SIGNUP import roomescape.user.business.SIGNUP
import roomescape.user.exception.UserErrorCode import roomescape.user.exception.UserErrorCode
@ -28,6 +31,9 @@ class UserApiTest(
private val userStatusHistoryRepository: UserStatusHistoryRepository private val userStatusHistoryRepository: UserStatusHistoryRepository
) : FunSpecSpringbootTest() { ) : FunSpecSpringbootTest() {
@SpykBean
private lateinit var jwtUtils: JwtUtils
init { init {
context("회원가입 및 상태 이력을 저장한다.") { context("회원가입 및 상태 이력을 저장한다.") {
val request = UserFixture.createRequest val request = UserFixture.createRequest
@ -169,6 +175,21 @@ class UserApiTest(
} }
) )
} }
test("토큰이 조회되지 않으면 실패한다.") {
val (user, token) = testAuthUtil.defaultUserLogin()
every {
jwtUtils.extractSubject(token)
} throws RuntimeException("Intended")
runExceptionTest(
token = token,
method = HttpMethod.GET,
endpoint = endpoint,
expectedErrorCode = AuthErrorCode.MEMBER_NOT_FOUND
)
}
} }
} }