[#13] Theme 도메인 코드 코틀린 마이그레이션 #15

Merged
pricelees merged 17 commits from refactor/#13 into main 2025-07-17 16:37:27 +00:00
Showing only changes of commit f569545361 - Show all commits

View File

@ -55,9 +55,7 @@ abstract class RoomescapeApiTest : BehaviorSpec() {
header(HttpHeaders.COOKIE, "accessToken=token")
}.apply {
log.takeIf { it }?.let { this.andDo { print() } }
}.andExpect {
assert
}
}.andExpect(assert)
fun runPostTest(
mockMvc: MockMvc,
@ -77,6 +75,19 @@ abstract class RoomescapeApiTest : BehaviorSpec() {
assert
}
fun runDeleteTest(
mockMvc: MockMvc,
endpoint: String,
log: Boolean = false,
assert: MockMvcResultMatchersDsl.() -> Unit
): ResultActionsDsl = mockMvc.delete(endpoint) {
header(HttpHeaders.COOKIE, "accessToken=token")
}.apply {
log.takeIf { it }?.let { this.andDo { print() } }
}.andExpect {
assert
}
fun loginAsAdmin() {
every {
jwtHandler.getMemberIdFromToken(any())
@ -104,6 +115,13 @@ abstract class RoomescapeApiTest : BehaviorSpec() {
every { memberRepository.findByIdOrNull(NOT_LOGGED_IN_USERID) } returns null
}
fun <T> MvcResult.readValue(valueType: Class<T>): T = this.response.contentAsString
.takeIf { it.isNotBlank() }
?.let { readValue(it, valueType) }
?: throw RuntimeException("""
[Test] Exception occurred while reading response json: ${this.response.contentAsString} with value type: $valueType
""".trimIndent())
fun <T> readValue(responseJson: String, valueType: Class<T>): T = objectMapper
.readTree(responseJson)["data"]
?.let { objectMapper.convertValue(it, valueType) }