feat(creator-channel): 홈 섹션 이동을 연결한다
This commit is contained in:
@@ -980,6 +980,68 @@ class CreatorChannelActivitySourceTest {
|
||||
assertTrue(activity.contains("dialog.show(screenWidth - 26.7f.dpToPx().toInt())"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `홈 섹션 chevron과 커뮤니티 전체보기는 대응 탭으로 이동한다`() {
|
||||
val adapter = projectFile(
|
||||
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelHomeSectionAdapter.kt"
|
||||
).readText()
|
||||
val fragment = projectFile(
|
||||
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeFragment.kt"
|
||||
).readText()
|
||||
val activity = projectFile(
|
||||
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt"
|
||||
).readText()
|
||||
|
||||
assertTrue(adapter.contains("private val sectionTitleChevron: ImageView?"))
|
||||
assertTrue(adapter.contains("private val communityMoreButton: View?"))
|
||||
assertTrue(adapter.contains("sectionTitleChevron?.isVisible = item.chevronTab != null"))
|
||||
assertTrue(adapter.contains("sectionTitleChevron?.setOnClickListener"))
|
||||
assertTrue(adapter.contains("item.chevronTab?.let(onSectionChevronClick)"))
|
||||
assertTrue(
|
||||
adapter.contains(
|
||||
"communityMoreButton?.setOnClickListener { onSectionChevronClick(CreatorChannelTab.Community) }"
|
||||
)
|
||||
)
|
||||
assertTrue(adapter.contains("is CreatorChannelHomeSection.Donations -> CreatorChannelTab.Donation"))
|
||||
assertTrue(adapter.contains("is CreatorChannelHomeSection.AudioContents -> CreatorChannelTab.Audio"))
|
||||
assertTrue(adapter.contains("is CreatorChannelHomeSection.Series -> CreatorChannelTab.Series"))
|
||||
assertTrue(adapter.contains("is CreatorChannelHomeSection.FanTalk -> CreatorChannelTab.FanTalk"))
|
||||
assertTrue(fragment.contains("onSectionChevronClick = ::onSectionChevronClicked"))
|
||||
assertTrue(fragment.contains("host.onCreatorChannelHomeTabRequested(tab)"))
|
||||
assertTrue(activity.contains("override fun onCreatorChannelHomeTabRequested(tab: CreatorChannelTab)"))
|
||||
assertTrue(activity.contains("private fun selectCreatorChannelTab(tab: CreatorChannelTab)"))
|
||||
assertTrue(activity.contains("binding.viewPager.currentItem = tab.ordinal"))
|
||||
assertTrue(activity.contains("private fun scrollCreatorChannelToTop()"))
|
||||
assertTrue(activity.contains("binding.nestedScrollView.scrollTo(0, 0)"))
|
||||
assertTrue(
|
||||
activity.contains(
|
||||
"override fun onCreatorChannelHomeTabRequested(tab: CreatorChannelTab) {\n" +
|
||||
" selectCreatorChannelTab(tab)\n" +
|
||||
" scrollCreatorChannelToTop()"
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `홈 커뮤니티 아이템 클릭은 커뮤니티 상세 이동 host 계약을 사용한다`() {
|
||||
val adapter = projectFile(
|
||||
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelHomeSectionAdapter.kt"
|
||||
).readText()
|
||||
val fragment = projectFile(
|
||||
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeFragment.kt"
|
||||
).readText()
|
||||
val activity = projectFile(
|
||||
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt"
|
||||
).readText()
|
||||
|
||||
assertTrue(adapter.contains("private val onCommunityClick: (Long) -> Unit = {}"))
|
||||
assertTrue(adapter.contains("row.setOnClickListener { onCommunityClick(community.postId) }"))
|
||||
assertTrue(fragment.contains("onCommunityClick = ::onCommunityClicked"))
|
||||
assertTrue(fragment.contains("host.onCreatorChannelCommunityPostClicked(postId)"))
|
||||
assertTrue(activity.contains("override fun onCreatorChannelCommunityPostClicked(postId: Long)"))
|
||||
assertTrue(activity.contains("CreatorChannelCommunityDetailActivity.newIntent(this, postId)"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `후원 can 수량은 요청된 배경색 resource 경계로 매핑한다`() {
|
||||
assertEquals(R.color.gray_200, calculateCreatorChannelDonationHeaderColorRes(1))
|
||||
|
||||
Reference in New Issue
Block a user