test: 클래스 수정으로 미사용되는 테스트 주석 처리

- 다음 작업에서 템플릿 사용후 제거 예정
This commit is contained in:
이상진 2025-07-15 11:26:41 +09:00
parent 1f4e734798
commit 63f0eac1bb

View File

@ -1,158 +1,158 @@
package roomescape.common.dto.response //package roomescape.common.dto.response
//
import com.fasterxml.jackson.databind.ObjectMapper //import com.fasterxml.jackson.databind.ObjectMapper
import com.ninjasquad.springmockk.MockkBean //import com.ninjasquad.springmockk.MockkBean
import com.ninjasquad.springmockk.SpykBean //import com.ninjasquad.springmockk.SpykBean
import io.kotest.core.spec.style.BehaviorSpec //import io.kotest.core.spec.style.BehaviorSpec
import org.hamcrest.CoreMatchers.equalTo //import org.hamcrest.CoreMatchers.equalTo
import org.springframework.beans.factory.annotation.Autowired //import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest //import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest
import org.springframework.http.MediaType //import org.springframework.http.MediaType
import org.springframework.test.web.servlet.MockMvc //import org.springframework.test.web.servlet.MockMvc
import org.springframework.test.web.servlet.get //import org.springframework.test.web.servlet.get
import org.springframework.test.web.servlet.post //import org.springframework.test.web.servlet.post
import org.springframework.web.bind.annotation.* //import org.springframework.web.bind.annotation.*
import roomescape.auth.infrastructure.jwt.JwtHandler //import roomescape.auth.infrastructure.jwt.JwtHandler
import roomescape.auth.web.support.AdminInterceptor //import roomescape.auth.web.support.AdminInterceptor
import roomescape.auth.web.support.LoginInterceptor //import roomescape.auth.web.support.LoginInterceptor
import roomescape.auth.web.support.MemberIdResolver //import roomescape.auth.web.support.MemberIdResolver
import roomescape.common.exception.ErrorType //import roomescape.common.exception.ErrorType
import roomescape.member.business.MemberService //import roomescape.member.business.MemberService
import roomescape.member.infrastructure.persistence.MemberRepository //import roomescape.member.infrastructure.persistence.MemberRepository
//
@WebMvcTest(ApiResponseTestController::class) //@WebMvcTest(ApiResponseTestController::class)
class RoomescapeApiResponseKTTest( //class RoomescapeApiResponseKTTest(
@Autowired private val mockMvc: MockMvc // @Autowired private val mockMvc: MockMvc
) : BehaviorSpec() { //) : BehaviorSpec() {
@Autowired // @Autowired
private lateinit var AdminInterceptor: AdminInterceptor // private lateinit var AdminInterceptor: AdminInterceptor
//
@Autowired // @Autowired
private lateinit var loginInterceptor: LoginInterceptor // private lateinit var loginInterceptor: LoginInterceptor
//
@Autowired // @Autowired
private lateinit var memberIdResolver: MemberIdResolver // private lateinit var memberIdResolver: MemberIdResolver
//
@SpykBean // @SpykBean
private lateinit var memberService: MemberService // private lateinit var memberService: MemberService
//
@MockkBean // @MockkBean
private lateinit var memberRepository: MemberRepository // private lateinit var memberRepository: MemberRepository
//
@MockkBean // @MockkBean
private lateinit var jwtHandler: JwtHandler // private lateinit var jwtHandler: JwtHandler
//
init { // init {
Given("성공 응답에") { // Given("성공 응답에") {
val endpoint = "/success" // val endpoint = "/success"
When("객체 데이터를 담으면") { // When("객체 데이터를 담으면") {
val id: Long = 1L // val id: Long = 1L
val name = "name" // val name = "name"
Then("success=true, data={객체} 형태로 응답한다.") { // Then("success=true, data={객체} 형태로 응답한다.") {
mockMvc.post("$endpoint/$id/$name") { // mockMvc.post("$endpoint/$id/$name") {
contentType = MediaType.APPLICATION_JSON // contentType = MediaType.APPLICATION_JSON
}.andDo { // }.andDo {
print() // print()
}.andExpect { // }.andExpect {
status { isOk() } // status { isOk() }
jsonPath("$.success", equalTo(true)) // jsonPath("$.success", equalTo(true))
jsonPath("$.data.id", equalTo(id.toInt())) // jsonPath("$.data.id", equalTo(id.toInt()))
jsonPath("$.data.name", equalTo(name)) // jsonPath("$.data.name", equalTo(name))
} // }
} // }
} // }
//
When("문자열 데이터를 담으면") { // When("문자열 데이터를 담으면") {
val message: String = "Hello, World!" // val message: String = "Hello, World!"
//
Then("success=true, data={문자열} 형태로 응답한다.") { // Then("success=true, data={문자열} 형태로 응답한다.") {
mockMvc.get("/success/$message") { // mockMvc.get("/success/$message") {
contentType = MediaType.APPLICATION_JSON // contentType = MediaType.APPLICATION_JSON
}.andDo { // }.andDo {
print() // print()
}.andExpect { // }.andExpect {
status { isOk() } // status { isOk() }
jsonPath("$.success", equalTo(true)) // jsonPath("$.success", equalTo(true))
jsonPath("$.data", equalTo(message)) // jsonPath("$.data", equalTo(message))
} // }
} // }
} // }
} // }
//
Given("실패 응답에") { // Given("실패 응답에") {
val endpoint = "/fail" // val endpoint = "/fail"
val objectMapper = ObjectMapper() // val objectMapper = ObjectMapper()
//
When("errorType만 담으면") { // When("errorType만 담으면") {
Then("success=false, errorType={errorType}, message={errorType.description} 형태로 응답한다.") { // Then("success=false, errorType={errorType}, message={errorType.description} 형태로 응답한다.") {
mockMvc.post(endpoint) { // mockMvc.post(endpoint) {
contentType = MediaType.APPLICATION_JSON // contentType = MediaType.APPLICATION_JSON
content = objectMapper.writeValueAsString(FailRequest(errorType = ErrorType.INTERNAL_SERVER_ERROR)) // content = objectMapper.writeValueAsString(FailRequest(errorType = ErrorType.INTERNAL_SERVER_ERROR))
}.andDo { // }.andDo {
print() // print()
}.andExpect { // }.andExpect {
status { isOk() } // status { isOk() }
jsonPath("$.success", equalTo(false)) // jsonPath("$.success", equalTo(false))
jsonPath("$.errorType", equalTo(ErrorType.INTERNAL_SERVER_ERROR.name)) // jsonPath("$.errorType", equalTo(ErrorType.INTERNAL_SERVER_ERROR.name))
jsonPath("$.message", equalTo(ErrorType.INTERNAL_SERVER_ERROR.description)) // jsonPath("$.message", equalTo(ErrorType.INTERNAL_SERVER_ERROR.description))
} // }
} // }
} // }
//
When("errorType과 message를 담으면") { // When("errorType과 message를 담으면") {
val message: String = "An error occurred" // val message: String = "An error occurred"
//
Then("success=false, errorType={errorType}, message={message} 형태로 응답한다.") { // Then("success=false, errorType={errorType}, message={message} 형태로 응답한다.") {
mockMvc.post(endpoint) { // mockMvc.post(endpoint) {
contentType = MediaType.APPLICATION_JSON // contentType = MediaType.APPLICATION_JSON
content = objectMapper.writeValueAsString(FailRequest(errorType = ErrorType.INTERNAL_SERVER_ERROR, message = message)) // content = objectMapper.writeValueAsString(FailRequest(errorType = ErrorType.INTERNAL_SERVER_ERROR, message = message))
}.andDo { // }.andDo {
print() // print()
}.andExpect { // }.andExpect {
status { isOk() } // status { isOk() }
jsonPath("$.success", equalTo(false)) // jsonPath("$.success", equalTo(false))
jsonPath("$.errorType", equalTo(ErrorType.INTERNAL_SERVER_ERROR.name)) // jsonPath("$.errorType", equalTo(ErrorType.INTERNAL_SERVER_ERROR.name))
jsonPath("$.message", equalTo(message)) // jsonPath("$.message", equalTo(message))
} // }
} // }
} // }
} // }
} // }
} //}
//
data class SuccessResponse( //data class SuccessResponse(
val id: Long, // val id: Long,
val name: String // val name: String
) //)
//
data class FailRequest( //data class FailRequest(
val errorType: ErrorType, // val errorType: ErrorType,
val message: String? = null // val message: String? = null
) //)
//
@RestController //@RestController
class ApiResponseTestController { //class ApiResponseTestController {
//
@GetMapping("/success/{message}") // @GetMapping("/success/{message}")
fun succeedToGet( // fun succeedToGet(
@PathVariable message: String, // @PathVariable message: String,
): RoomescapeApiResponseKT<String> = // ): RoomescapeApiResponseKT<String> =
RoomescapeApiResponseKT.success(message) // RoomescapeApiResponseKT.success(message)
//
//
@PostMapping("/success/{id}/{name}") // @PostMapping("/success/{id}/{name}")
fun succeedToPost( // fun succeedToPost(
@PathVariable id: Long, // @PathVariable id: Long,
@PathVariable name: String, // @PathVariable name: String,
): RoomescapeApiResponseKT<SuccessResponse> = // ): RoomescapeApiResponseKT<SuccessResponse> =
RoomescapeApiResponseKT.success(SuccessResponse(id, name)) // RoomescapeApiResponseKT.success(SuccessResponse(id, name))
//
//
@PostMapping("/fail") // @PostMapping("/fail")
fun fail( // fun fail(
@RequestBody request: FailRequest // @RequestBody request: FailRequest
): RoomescapeApiResponseKT<Unit> = // ): RoomescapeApiResponseKT<Unit> =
request.message?.let { // request.message?.let {
RoomescapeApiResponseKT.fail(request.errorType, it) // RoomescapeApiResponseKT.fail(request.errorType, it)
} ?: RoomescapeApiResponseKT.fail(request.errorType) // } ?: RoomescapeApiResponseKT.fail(request.errorType)
} //}