fix(content): 랭킹 상세 이동 guard를 보강한다

This commit is contained in:
2026-06-24 15:40:14 +09:00
parent a9446ef5cc
commit 8ba3ed5fb5
2 changed files with 12 additions and 1 deletions

View File

@@ -293,7 +293,7 @@ class ContentMainFragment : BaseFragment<FragmentV2MainContentBinding>(
}
private fun openRankingAudioContentDetail(item: ContentRankingItem) {
val audioContentId = item.contentId.toLongOrNull() ?: return
val audioContentId = item.contentId.toLongOrNull()?.takeIf { it > 0L } ?: return
openAudioContentDetail(audioContentId)
}

View File

@@ -85,6 +85,17 @@ class ContentMainFragmentSourceTest {
assertTrue(source.contains("toContentBannerIntent(requireContext())"))
}
@Test
fun `content 랭킹 routing은 유효하지 않은 contentId를 무시한다`() {
val source = projectFile(
"app/src/main/java/kr/co/vividnext/sodalive/v2/main/content/ContentMainFragment.kt"
).readText()
assertTrue(source.contains("private fun openRankingAudioContentDetail(item: ContentRankingItem)"))
assertTrue(source.contains("item.contentId.toLongOrNull()?.takeIf { it > 0L } ?: return"))
assertTrue(source.contains("openAudioContentDetail(audioContentId)"))
}
@Test
fun `content 추천 layout은 Phase 4~6 item layout과 제외 섹션 정책을 지킨다`() {
val fragmentLayout = projectFile("app/src/main/res/layout/fragment_v2_main_content.xml").readText()