feat(content): 랭킹 탭 화면 연결을 추가한다

This commit is contained in:
2026-06-24 14:45:45 +09:00
parent cf89052806
commit 2818f8d4a4
2 changed files with 142 additions and 9 deletions

View File

@@ -33,18 +33,44 @@ class ContentMainFragmentSourceTest {
).readText()
assertTrue(source.contains("private val contentMainViewModel: ContentMainViewModel by viewModel()"))
assertTrue(source.contains("private val contentRankingViewModel: ContentRankingViewModel by viewModel()"))
assertTrue(source.contains("ContentBannerBinder(binding.rvContentBanners)"))
assertTrue(source.contains("ContentOriginalSeriesAdapter"))
assertTrue(source.contains("ContentAudioCardAdapter"))
assertTrue(source.contains("ContentNewAndHotAdapter"))
assertTrue(source.contains("ContentCommentedAudioAdapter"))
assertTrue(source.contains("ContentRankingAdapter"))
assertTrue(source.contains("ContentRankingAdapter.createGridLayoutManager(requireContext())"))
assertTrue(source.contains("recommendationsStateLiveData.observe(viewLifecycleOwner)"))
assertTrue(source.contains("rankingStateLiveData.observe(viewLifecycleOwner)"))
assertTrue(source.contains("contentMainViewModel.loadRecommendations()"))
assertTrue(source.contains("contentRankingViewModel.loadRankings(AudioRankingType.WEEKLY_POPULAR)"))
assertTrue(source.contains("LoadingDialog(requireActivity(), layoutInflater)"))
assertTrue(source.contains("loadingDialog.show(screenWidth)"))
assertTrue(source.contains("toastMessage?.let(::showToast)"))
}
@Test
fun `content 랭킹 layout과 tab source는 Phase 5 요구를 포함한다`() {
val source = projectFile(
"app/src/main/java/kr/co/vividnext/sodalive/v2/main/content/ContentMainFragment.kt"
).readText()
val fragmentLayout = projectFile("app/src/main/res/layout/fragment_v2_main_content.xml").readText()
assertTrue(fragmentLayout.contains("@+id/view_content_ranking_type_tabs"))
assertTrue(fragmentLayout.contains("layout=\"@layout/view_capsule_tab_bar\""))
assertTrue(fragmentLayout.contains("@+id/rv_content_rankings"))
assertTrue(source.contains("R.string.screen_content_tab_recommendation"))
assertTrue(source.contains("R.string.screen_content_tab_ranking"))
assertTrue(source.contains("R.string.screen_content_tab_all"))
assertTrue(source.contains("binding.textTabBarContent.root.setOnTabSelectedListener"))
assertTrue(source.contains("binding.viewContentRankingTypeTabs.root.setMenus"))
assertTrue(source.contains("binding.viewContentRankingTypeTabs.root.setOnTabSelectedListener"))
assertTrue(source.contains("AudioRankingType.entries[index]"))
assertTrue(source.contains("screen_content_ranking_type_weekly_popular"))
assertTrue(source.contains("screen_content_ranking_type_like_count"))
}
@Test
fun `content 추천 source는 오디오와 시리즈 routing extra를 사용한다`() {
val source = projectFile(