test #439

Merged
klaus merged 7 commits from test into main 2026-07-12 14:05:39 +00:00
2 changed files with 60 additions and 1 deletions
Showing only changes of commit 23df3da784 - Show all commits

View File

@@ -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 {

View File

@@ -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)