test #426
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user