fix(agent-assignment): 소속 시각 UTC 변환을 적용한다
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
package kr.co.vividnext.sodalive.extensions
|
||||
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
import org.junit.jupiter.api.Assertions.fail
|
||||
import org.junit.jupiter.api.Test
|
||||
import java.time.LocalDateTime
|
||||
import java.time.ZoneId
|
||||
|
||||
class LocalDateTimeExtensionsTest {
|
||||
@Test
|
||||
fun shouldConvertToUtcUsingKstByDefault() {
|
||||
val localDateTime = LocalDateTime.of(2026, 4, 9, 10, 0)
|
||||
|
||||
val utcDateTime = invokeConvertToUtc(localDateTime)
|
||||
|
||||
assertEquals(LocalDateTime.of(2026, 4, 9, 1, 0), utcDateTime)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun shouldConvertToUtcUsingProvidedTimezone() {
|
||||
val localDateTime = LocalDateTime.of(2026, 4, 9, 10, 0)
|
||||
|
||||
val utcDateTime = invokeConvertToUtc(localDateTime, ZoneId.of("Asia/Bangkok"))
|
||||
|
||||
assertEquals(LocalDateTime.of(2026, 4, 9, 3, 0), utcDateTime)
|
||||
}
|
||||
|
||||
private fun invokeConvertToUtc(localDateTime: LocalDateTime, timeZone: ZoneId = ZoneId.of("Asia/Seoul")): LocalDateTime {
|
||||
return try {
|
||||
val method = Class.forName("kr.co.vividnext.sodalive.extensions.LocalDateTimeExtensionsKt")
|
||||
.getMethod("convertToUtc", LocalDateTime::class.java, ZoneId::class.java)
|
||||
method.invoke(null, localDateTime, timeZone) as LocalDateTime
|
||||
} catch (e: ReflectiveOperationException) {
|
||||
fail("LocalDateTime.convertToUtc 확장함수를 찾을 수 없습니다.")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user