From 03dff18df1fde22207df399cc0565777a4d5ba07 Mon Sep 17 00:00:00 2001 From: jxmen Date: Thu, 29 Aug 2024 04:25:44 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=A0=80?= =?UTF-8?q?=EC=9E=A5=20=EC=8B=9C=20createdAt=EA=B3=BC=20updatedAt=20?= =?UTF-8?q?=EB=8B=A4=EB=A5=B8=20=EC=9D=B4=EC=8A=88=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Close #127 --- build.gradle.kts | 2 +- .../jxmen/cs/ai/interviewer/domain/BaseEntity.kt | 8 ++++++++ .../interviewer/presentation/SubjectApiTest.kt | 16 ++++++++++++---- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 5fc60f6..1978d83 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,7 +12,7 @@ plugins { } group = "dev.jxmen" -version = "1.3.4" +version = "1.3.5" java { sourceCompatibility = JavaVersion.VERSION_21 diff --git a/src/main/kotlin/dev/jxmen/cs/ai/interviewer/domain/BaseEntity.kt b/src/main/kotlin/dev/jxmen/cs/ai/interviewer/domain/BaseEntity.kt index 8be4cff..b02de6a 100644 --- a/src/main/kotlin/dev/jxmen/cs/ai/interviewer/domain/BaseEntity.kt +++ b/src/main/kotlin/dev/jxmen/cs/ai/interviewer/domain/BaseEntity.kt @@ -5,6 +5,7 @@ import jakarta.persistence.GeneratedValue import jakarta.persistence.GenerationType import jakarta.persistence.Id import jakarta.persistence.MappedSuperclass +import jakarta.persistence.PrePersist import org.hibernate.annotations.Comment import org.springframework.data.annotation.CreatedDate import org.springframework.data.annotation.LastModifiedDate @@ -25,4 +26,11 @@ abstract class BaseEntity { @LastModifiedDate @Comment("수정일") var updatedAt: LocalDateTime = LocalDateTime.now() + + @PrePersist + fun initDates() { + val now = LocalDateTime.now() + createdAt = now + updatedAt = now + } } diff --git a/src/test/kotlin/dev/jxmen/cs/ai/interviewer/presentation/SubjectApiTest.kt b/src/test/kotlin/dev/jxmen/cs/ai/interviewer/presentation/SubjectApiTest.kt index 0f711d6..63336b2 100644 --- a/src/test/kotlin/dev/jxmen/cs/ai/interviewer/presentation/SubjectApiTest.kt +++ b/src/test/kotlin/dev/jxmen/cs/ai/interviewer/presentation/SubjectApiTest.kt @@ -438,16 +438,19 @@ class SubjectApiTest : .header("Authorization", "Bearer token"), ).andExpect(status().isOk) .andExpect(jsonPath("$.success").value(true)) + .andExpect(jsonPath("$.data.length()").value(3)) .andExpect(jsonPath("$.data[0].message").value("스레드와 프로세스의 차이점은 무엇인가요?")) .andExpect(jsonPath("$.data[0].score").doesNotExist()) .andExpect(jsonPath("$.data[0].type").value("question")) .andExpect(jsonPath("$.data[0].createdAt").doesNotExist()) .andExpect(jsonPath("$.data[1].message").value("스레드는 프로세스 내에서 실행되는 작업의 단위이고, 프로세스는 실행 중인 프로그램의 인스턴스입니다.")) - .andExpect(jsonPath("$.data[1].score").value(100)) + .andExpect(jsonPath("$.data[1].score").value(20)) .andExpect(jsonPath("$.data[1].type").value("answer")) .andExpect(jsonPath("$.data[1].createdAt").value("2024-08-15T21:00:00")) - .andExpect(jsonPath("$.data[2]").doesNotExist()) - .andExpect(jsonPath("$.error").isEmpty()) + .andExpect(jsonPath("$.data[2].message").value("그렇다면 멀티스레드와 멀티프로세스의 차이점은 무엇인가요?")) + .andExpect(jsonPath("$.data[2].score").doesNotExist()) + .andExpect(jsonPath("$.data[2].type").value("question")) + .andExpect(jsonPath("$.data[2].createdAt").doesNotExist()) .andDo( document( identifier = "get-chat-message", @@ -831,9 +834,14 @@ class SubjectApiTest : subject = subject, member = member, answer = "스레드는 프로세스 내에서 실행되는 작업의 단위이고, 프로세스는 실행 중인 프로그램의 인스턴스입니다.", - score = 100, + score = 20, createdAt = date, ), + Chat.createQuestion( + subject = subject, + member = member, + message = "그렇다면 멀티스레드와 멀티프로세스의 차이점은 무엇인가요?", + ), ) } }