feat(creator): 후원 floating button 위치를 조정한다

This commit is contained in:
2026-06-22 23:22:26 +09:00
parent 4d79cb65cd
commit 9b19be7775
6 changed files with 79 additions and 24 deletions

View File

@@ -428,6 +428,8 @@ class CreatorChannelActivitySourceTest {
val adapter = projectFile(
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelPagerAdapter.kt"
).readText()
val activityLayout = projectFile("app/src/main/res/layout/activity_creator_channel.xml").readText()
val donationFragmentLayout = projectFile("app/src/main/res/layout/fragment_creator_channel_donation.xml").readText()
assertTrue(adapter.contains("CreatorChannelDonationFragment.newInstance(creatorId)"))
assertTrue(source.contains("CreatorChannelDonationFragment.Host"))
@@ -444,6 +446,20 @@ class CreatorChannelActivitySourceTest {
assertTrue(source.contains("homeActionDelegate?.refreshHome()"))
assertTrue(source.contains("UserProfileDonationAllViewActivity::class.java"))
assertTrue(source.contains("putExtra(Constants.EXTRA_USER_ID, creatorId)"))
assertTrue(activityLayout.contains("android:id=\"@+id/btn_creator_channel_donation_write\""))
assertTrue(activityLayout.contains("android:layout_width=\"66dp\""))
assertTrue(activityLayout.contains("android:layout_height=\"66dp\""))
assertTrue(activityLayout.contains("android:layout_marginEnd=\"@dimen/spacing_14\""))
assertTrue(activityLayout.contains("android:layout_marginBottom=\"@dimen/spacing_14\""))
assertTrue(activityLayout.contains("android:padding=\"@dimen/spacing_14\""))
assertTrue(activityLayout.contains("app:layout_constraintBottom_toBottomOf=\"parent\""))
assertTrue(activityLayout.contains("app:layout_constraintEnd_toEndOf=\"parent\""))
assertTrue(activityLayout.contains("android:layout_width=\"38dp\""))
assertTrue(source.contains("private var isDonationFloatingButtonVisible: Boolean = false"))
assertTrue(source.contains("updateDonationFloatingButtonVisibility()"))
assertTrue(source.contains("findDonationFragment()?.onCreatorChannelDonationFloatingButtonClicked()"))
assertTrue(donationFragmentLayout.contains("btn_creator_channel_donation_empty_write"))
assertFalse(donationFragmentLayout.contains("btn_creator_channel_donation_write"))
}
@Test

View File

@@ -33,12 +33,14 @@ class CreatorChannelDonationActionTest {
}
@Test
fun `후원 fragment source는 owner일 때 floating button을 숨기고 후원 요청을 ViewModel에 전달한다`() {
fun `후원 fragment source는 content owner 상태에 따라 Activity floating button 표시를 요청한다`() {
val fragment = projectFile(
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/donation/CreatorChannelDonationFragment.kt"
).readText()
assertTrue(fragment.contains("btnCreatorChannelDonationWrite.isVisible = !state.isOwner"))
assertTrue(fragment.contains("fun onCreatorChannelDonationFloatingButtonClicked()"))
assertTrue(fragment.contains("host.onCreatorChannelDonationFloatingButtonVisibilityChanged(!state.isOwner)"))
assertTrue(fragment.contains("host.onCreatorChannelDonationFloatingButtonVisibilityChanged(false)"))
assertTrue(fragment.contains("host.onCreatorChannelDonationRequested { can, isSecret, message ->"))
assertTrue(fragment.contains("viewModel.postChannelDonation(can, isSecret, message)"))
assertTrue(fragment.contains("viewModel.consumeDonationSuccessEvent()"))
@@ -53,7 +55,7 @@ class CreatorChannelDonationActionTest {
assertTrue(fragment.contains("btnCreatorChannelDonationEmptyWrite.setOnClickListener"))
assertTrue(fragment.contains("btnCreatorChannelDonationEmptyWrite.isVisible = !state.isOwner"))
assertTrue(fragment.contains("btnCreatorChannelDonationWrite.isVisible = false"))
assertTrue(fragment.contains("host.onCreatorChannelDonationFloatingButtonVisibilityChanged(false)"))
assertTrue(fragment.contains("host.onCreatorChannelDonationRequested { can, isSecret, message ->"))
assertTrue(fragment.contains("viewModel.postChannelDonation(can, isSecret, message)"))
}