From ed8b48712e02a0b492e1277fb63fce0295956d23 Mon Sep 17 00:00:00 2001 From: pricelees Date: Thu, 18 Sep 2025 20:27:59 +0900 Subject: [PATCH] =?UTF-8?q?test:=20\@User=20=EC=96=B4=EB=85=B8=ED=85=8C?= =?UTF-8?q?=EC=9D=B4=EC=85=98=20=EC=B2=98=EB=A6=AC=EC=8B=9C=20=ED=86=A0?= =?UTF-8?q?=ED=81=B0=20=EC=A1=B0=ED=9A=8C=20=EC=98=A4=EB=A5=98=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=BC=80=EC=9D=B4=EC=8A=A4=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/roomescape/user/UserApiTest.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/test/kotlin/roomescape/user/UserApiTest.kt b/src/test/kotlin/roomescape/user/UserApiTest.kt index 922ecf96..31d16b55 100644 --- a/src/test/kotlin/roomescape/user/UserApiTest.kt +++ b/src/test/kotlin/roomescape/user/UserApiTest.kt @@ -1,7 +1,9 @@ package roomescape.user +import com.ninjasquad.springmockk.SpykBean import io.kotest.assertions.assertSoftly import io.kotest.matchers.shouldBe +import io.mockk.every import io.restassured.module.kotlin.extensions.Extract import io.restassured.module.kotlin.extensions.Given 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.MediaType import roomescape.auth.exception.AuthErrorCode +import roomescape.auth.infrastructure.jwt.JwtUtils import roomescape.common.exception.CommonErrorCode import roomescape.user.business.SIGNUP import roomescape.user.exception.UserErrorCode @@ -28,6 +31,9 @@ class UserApiTest( private val userStatusHistoryRepository: UserStatusHistoryRepository ) : FunSpecSpringbootTest() { + @SpykBean + private lateinit var jwtUtils: JwtUtils + init { context("회원가입 및 상태 이력을 저장한다.") { 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 + ) + } } }