test(content-recommendation): 추천 저장소 테스트 시간을 고정한다

This commit is contained in:
2026-06-25 15:37:06 +09:00
parent a8ebd41f6e
commit 65804261f7

View File

@@ -161,7 +161,7 @@ class DefaultAudioRecommendationQueryRepositoryTest @Autowired constructor(
@Test @Test
@DisplayName("New & Hot 후보는 조회/좋아요/댓글/최신성 점수순으로 산정하고 SAFE는 성인을 제외한다") @DisplayName("New & Hot 후보는 조회/좋아요/댓글/최신성 점수순으로 산정하고 SAFE는 성인을 제외한다")
fun shouldFindNewAndHotSnapshotsWithVisibility() { fun shouldFindNewAndHotSnapshotsWithVisibility() {
val snapshotAt = LocalDateTime.now().plusDays(1) val snapshotAt = LocalDateTime.of(2026, 6, 23, 12, 0)
val windowStart = snapshotAt.minusDays(2).toLocalDate().atStartOfDay() val windowStart = snapshotAt.minusDays(2).toLocalDate().atStartOfDay()
val creator = saveMember("snapshot-creator", MemberRole.CREATOR) val creator = saveMember("snapshot-creator", MemberRole.CREATOR)
val theme = saveTheme() val theme = saveTheme()
@@ -186,7 +186,7 @@ class DefaultAudioRecommendationQueryRepositoryTest @Autowired constructor(
releaseDate = visible.releaseDate!!, releaseDate = visible.releaseDate!!,
now = snapshotAt now = snapshotAt
) )
assertEquals(expectedScore, safe.first().score) assertEquals(expectedScore, safe.first().score, 0.0001)
} }
@Test @Test
@@ -401,9 +401,9 @@ class DefaultAudioRecommendationQueryRepositoryTest @Autowired constructor(
private fun saveLike(audio: AudioContent, createdAt: LocalDateTime) { private fun saveLike(audio: AudioContent, createdAt: LocalDateTime) {
val like = AudioContentLike(memberId = 1L) val like = AudioContentLike(memberId = 1L)
like.audioContent = audio like.audioContent = audio
like.createdAt = createdAt
like.updatedAt = createdAt
entityManager.persist(like) entityManager.persist(like)
entityManager.flush()
updateTimestamps("content_like", like.id!!, createdAt, createdAt)
} }
private fun saveComment( private fun saveComment(
@@ -424,15 +424,22 @@ class DefaultAudioRecommendationQueryRepositoryTest @Autowired constructor(
comment.audioContent = audio comment.audioContent = audio
comment.member = writer comment.member = writer
comment.parent = parent comment.parent = parent
comment.createdAt = createdAt
comment.updatedAt = createdAt
entityManager.persist(comment) entityManager.persist(comment)
entityManager.flush() entityManager.flush()
comment.createdAt = createdAt updateTimestamps("content_comment", comment.id!!, createdAt, createdAt)
comment.updatedAt = createdAt
return comment return comment
} }
private fun updateTimestamps(tableName: String, id: Long, createdAt: LocalDateTime, updatedAt: LocalDateTime) {
entityManager.createNativeQuery(
"update $tableName set created_at = :createdAt, updated_at = :updatedAt where id = :id"
)
.setParameter("createdAt", createdAt)
.setParameter("updatedAt", updatedAt)
.setParameter("id", id)
.executeUpdate()
}
private fun saveSeriesContent(series: Series, audio: AudioContent) { private fun saveSeriesContent(series: Series, audio: AudioContent) {
val seriesContent = SeriesContent() val seriesContent = SeriesContent()
seriesContent.series = series seriesContent.series = series