feat(creator): 후원 탭 Activity 연결을 추가한다

This commit is contained in:
2026-06-22 22:07:12 +09:00
parent a7ce991f7d
commit 8db913812d
2 changed files with 88 additions and 5 deletions

View File

@@ -417,7 +417,33 @@ class CreatorChannelActivitySourceTest {
assertTrue(pagerAdapter.contains("CreatorChannelTab.Audio -> CreatorChannelAudioFragment.newInstance(creatorId)"))
assertTrue(pagerAdapter.contains("CreatorChannelTab.Series -> CreatorChannelSeriesFragment.newInstance(creatorId)"))
assertTrue(pagerAdapter.contains("CreatorChannelTab.FanTalk -> CreatorChannelFanTalkFragment.newInstance(creatorId)"))
assertFalse(source.contains("CreatorChannelTab.Donation ->"))
assertTrue(pagerAdapter.contains("CreatorChannelTab.Donation -> CreatorChannelDonationFragment.newInstance(creatorId)"))
}
@Test
fun `Donation tab source는 Fragment Host pagination height action navigation을 Activity에 연결한다`() {
val source = projectFile(
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt"
).readText()
val adapter = projectFile(
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelPagerAdapter.kt"
).readText()
assertTrue(adapter.contains("CreatorChannelDonationFragment.newInstance(creatorId)"))
assertTrue(source.contains("CreatorChannelDonationFragment.Host"))
assertTrue(source.contains("import kr.co.vividnext.sodalive.v2.creator.channel.donation.CreatorChannelDonationFragment"))
assertTrue(source.contains("findDonationFragment()?.onCreatorChannelDonationTabSelected()"))
assertTrue(source.contains("if (binding.viewPager.currentItem == CreatorChannelTab.Donation.ordinal)"))
assertTrue(source.contains("private fun findDonationFragment(): CreatorChannelDonationFragment?"))
assertTrue(source.contains("findDonationFragment()?.onCreatorChannelDonationScrolledToBottom()"))
assertTrue(source.contains("position == CreatorChannelTab.Donation.ordinal"))
assertTrue(source.contains("findDonationFragment()?.onCreatorChannelDonationViewportHeightChanged(minHeight)"))
assertTrue(source.contains("override fun onCreatorChannelDonationContentChanged()"))
assertTrue(source.contains("override fun onCreatorChannelDonationRequested"))
assertTrue(source.contains("private fun showCreatorChannelDonationDialog("))
assertTrue(source.contains("homeActionDelegate?.refreshHome()"))
assertTrue(source.contains("UserProfileDonationAllViewActivity::class.java"))
assertTrue(source.contains("putExtra(Constants.EXTRA_USER_ID, creatorId)"))
}
@Test
@@ -843,6 +869,7 @@ class CreatorChannelActivitySourceTest {
fragment.contains("viewModel.postChannelDonation(can = can, isSecret = isSecret, message = message)")
)
assertTrue(fragment.contains("host.onCreatorChannelDonationClicked()"))
assertTrue(activity.contains("showCreatorChannelDonationDialog"))
assertTrue(activity.contains("LiveRoomDonationDialog"))
assertTrue(activity.contains("isLiveDonation = true"))
assertTrue(activity.contains("messageMaxLength = 100"))
@@ -892,7 +919,11 @@ class CreatorChannelActivitySourceTest {
val en = projectFile("app/src/main/res/values-en/strings.xml").readText()
val ja = projectFile("app/src/main/res/values-ja/strings.xml").readText()
assertTrue(ko.contains("name=\"creator_channel_donation_empty_title\">처음으로 크리에이터를\\n후원해 보세요!"))
assertTrue(
ko.contains(
"name=\"creator_channel_donation_empty_title\">아직 후원이 없습니다.\\n처음으로 크리에이터를 후원해 보세요!"
)
)
assertTrue(en.contains("creator_channel_donation_empty_title"))
assertTrue(ja.contains("creator_channel_donation_empty_title"))
}