feat(recommendation): 첫 오디오 콘텐츠 플래그를 확장한다

This commit is contained in:
2026-06-27 06:40:55 +09:00
parent 151593a524
commit ef9ddae94b
5 changed files with 42 additions and 5 deletions
@@ -65,7 +65,9 @@ class ContentOverviewPageResponseTest {
title = "first audio",
price = 100,
coverImage = "cover/audio.png",
isPointAvailable = true
isPointAvailable = true,
isAdult = true,
isOriginalSeries = true
),
coverImage = "https://cdn.test/cover/audio.png",
isAdult = true,
@@ -1164,6 +1164,25 @@ class DefaultHomeRecommendationQueryRepositoryTest @Autowired constructor(
assertEquals(listOf(oldest.id), page1.map { it.contentId })
}
@Test
@DisplayName("첫 오디오 콘텐츠는 성인 여부와 오리지널 시리즈 여부를 함께 조회한다")
fun shouldMapFirstAudioContentAdultAndOriginalSeriesFlags() {
val now = LocalDateTime.of(2026, 5, 31, 10, 0)
val creator = saveMember("first-audio-flags", MemberRole.CREATOR)
val content = saveAudioContent(creator, now.minusDays(1), isActive = true, isAdult = false)
val series = saveSeries("first-audio-original-series", creator, isActive = true).apply {
isOriginal = true
}
saveSeriesContent(series, content)
updateCreatedAt("AudioContent", content.id!!, now.minusDays(1))
flushAndClear()
val contents = repository.findFirstAudioContents(now, limit = 10)
assertEquals(false, contents.single().isAdult)
assertEquals(true, contents.single().isOriginalSeries)
}
@Test
@DisplayName("첫 오디오 콘텐츠는 회원과 크리에이터의 양방향 차단 관계를 제외한다")
fun shouldExcludeBidirectionalBlockedCreatorsFromFirstAudioContents() {
@@ -688,7 +688,9 @@ class HomeRecommendationQueryServiceTest {
title = "first-audio",
price = 10,
coverImage = "first-audio.png",
isPointAvailable = true
isPointAvailable = true,
isAdult = false,
isOriginalSeries = false
)
)
var aiCharacterDetails: List<HomeAiCharacterRecommendationRecord> = emptyList()