test #439
@@ -86,7 +86,13 @@ class RecommendationSnapshotPersistenceAdapter(
|
|||||||
private fun supportsEmptySnapshotMarker(sectionType: RecommendedSectionType): Boolean {
|
private fun supportsEmptySnapshotMarker(sectionType: RecommendedSectionType): Boolean {
|
||||||
return sectionType == RecommendedSectionType.AI_CHARACTER ||
|
return sectionType == RecommendedSectionType.AI_CHARACTER ||
|
||||||
sectionType == RecommendedSectionType.CHEER_CREATOR ||
|
sectionType == RecommendedSectionType.CHEER_CREATOR ||
|
||||||
sectionType == RecommendedSectionType.POPULAR_COMMUNITY
|
sectionType == RecommendedSectionType.POPULAR_COMMUNITY ||
|
||||||
|
sectionType == RecommendedSectionType.NEW_AND_HOT_AUDIO_SAFE ||
|
||||||
|
sectionType == RecommendedSectionType.NEW_AND_HOT_AUDIO_ALL ||
|
||||||
|
sectionType == RecommendedSectionType.MOST_COMMENTED_AUDIO_SAFE ||
|
||||||
|
sectionType == RecommendedSectionType.MOST_COMMENTED_AUDIO_ALL ||
|
||||||
|
sectionType == RecommendedSectionType.RECOMMENDED_AUDIO_SAFE ||
|
||||||
|
sectionType == RecommendedSectionType.RECOMMENDED_AUDIO_ALL
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
@@ -236,6 +236,59 @@ class RecommendationSnapshotPersistenceAdapterTest @Autowired constructor(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun shouldSaveAudioEmptySnapshotMarkerWhenReplacingWithEmptySnapshots() {
|
||||||
|
val snapshotAt = LocalDateTime.of(2026, 5, 29, 23, 59, 59)
|
||||||
|
|
||||||
|
adapter.replaceSnapshots(RecommendedSectionType.NEW_AND_HOT_AUDIO_SAFE, snapshotAt, emptyList())
|
||||||
|
adapter.replaceSnapshots(RecommendedSectionType.MOST_COMMENTED_AUDIO_SAFE, snapshotAt, emptyList())
|
||||||
|
adapter.replaceSnapshots(RecommendedSectionType.RECOMMENDED_AUDIO_SAFE, snapshotAt, emptyList())
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
emptyList<RecommendationSnapshotRecord>(),
|
||||||
|
adapter.findSnapshots(RecommendedSectionType.NEW_AND_HOT_AUDIO_SAFE, snapshotAt)
|
||||||
|
)
|
||||||
|
assertEquals(
|
||||||
|
emptyList<RecommendationSnapshotRecord>(),
|
||||||
|
adapter.findSnapshots(RecommendedSectionType.MOST_COMMENTED_AUDIO_SAFE, snapshotAt)
|
||||||
|
)
|
||||||
|
assertEquals(
|
||||||
|
emptyList<RecommendationSnapshotRecord>(),
|
||||||
|
adapter.findSnapshots(RecommendedSectionType.RECOMMENDED_AUDIO_SAFE, snapshotAt)
|
||||||
|
)
|
||||||
|
assertEquals(true, adapter.existsSnapshot(RecommendedSectionType.NEW_AND_HOT_AUDIO_SAFE, snapshotAt))
|
||||||
|
assertEquals(true, adapter.existsSnapshot(RecommendedSectionType.MOST_COMMENTED_AUDIO_SAFE, snapshotAt))
|
||||||
|
assertEquals(true, adapter.existsSnapshot(RecommendedSectionType.RECOMMENDED_AUDIO_SAFE, snapshotAt))
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun shouldReplaceAudioEmptyMarkerWithRealSnapshotsAndExcludeMarkerFromLatestSnapshots() {
|
||||||
|
val snapshotAt = LocalDateTime.of(2026, 5, 29, 23, 59, 59)
|
||||||
|
adapter.replaceSnapshots(RecommendedSectionType.RECOMMENDED_AUDIO_ALL, snapshotAt, emptyList())
|
||||||
|
|
||||||
|
adapter.replaceSnapshots(
|
||||||
|
RecommendedSectionType.RECOMMENDED_AUDIO_ALL,
|
||||||
|
snapshotAt,
|
||||||
|
listOf(
|
||||||
|
RecommendationSnapshotRecord(
|
||||||
|
sectionType = RecommendedSectionType.RECOMMENDED_AUDIO_ALL,
|
||||||
|
targetId = 99L,
|
||||||
|
score = 99.0,
|
||||||
|
snapshotAt = snapshotAt,
|
||||||
|
randomTieBreaker = 0.9
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assertEquals(listOf(99L), adapter.findLatestSnapshots(RecommendedSectionType.RECOMMENDED_AUDIO_ALL).map { it.targetId })
|
||||||
|
assertEquals(
|
||||||
|
listOf(99L),
|
||||||
|
repository.findAll()
|
||||||
|
.filter { it.sectionType == RecommendedSectionType.RECOMMENDED_AUDIO_ALL }
|
||||||
|
.map { it.targetId }
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun shouldReplaceCheerCreatorEmptyMarkerWithRealSnapshots() {
|
fun shouldReplaceCheerCreatorEmptyMarkerWithRealSnapshots() {
|
||||||
val snapshotAt = LocalDateTime.of(2026, 5, 29, 23, 59, 59)
|
val snapshotAt = LocalDateTime.of(2026, 5, 29, 23, 59, 59)
|
||||||
|
|||||||
Reference in New Issue
Block a user