feat(creator): 라이브 탭 본인 CTA를 연결한다
This commit is contained in:
@@ -994,6 +994,25 @@ class CreatorChannelActivitySourceTest {
|
||||
assertFalse(source.contains("startActivity(Intent(this, LiveRoomCreateActivity::class.java))"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `라이브 탭 owner CTA는 header 본인 여부와 기존 라이브 생성 플로우를 재사용한다`() {
|
||||
val source = projectFile(
|
||||
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt"
|
||||
).readText()
|
||||
val fragment = projectFile(
|
||||
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/live/CreatorChannelLiveFragment.kt"
|
||||
).readText()
|
||||
|
||||
assertTrue(source.contains("findLiveFragment()?.onCreatorChannelOwnerChanged(header.isOwner)"))
|
||||
assertTrue(source.contains("override fun isCreatorChannelOwner(): Boolean"))
|
||||
assertTrue(source.contains("return currentHeader?.isOwner == true"))
|
||||
assertTrue(source.contains("override fun onCreatorChannelLiveStartClicked()"))
|
||||
assertTrue(source.contains("onOwnerFabLiveClicked()"))
|
||||
assertTrue(source.contains("liveRoomCreateLauncher.launch(Intent(this, LiveRoomCreateActivity::class.java))"))
|
||||
assertTrue(fragment.contains("fun onCreatorChannelOwnerChanged(isOwner: Boolean)"))
|
||||
assertTrue(fragment.contains("host.onCreatorChannelLiveStartClicked()"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `크리에이터 채널 라이브 로직은 coordinator로 분리한다`() {
|
||||
val activity = projectFile(
|
||||
|
||||
@@ -196,6 +196,32 @@ class CreatorChannelLiveFragmentLayoutTest {
|
||||
assertTrue(adapter.contains("layoutCreatorChannelLiveReplayActionText.isVisible = true"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `라이브 owner CTA source는 본인 여부 노출 inset padding click 연결을 포함한다`() {
|
||||
val fragment = projectFile(
|
||||
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/live/CreatorChannelLiveFragment.kt"
|
||||
).readText()
|
||||
val layout = projectFile("app/src/main/res/layout/fragment_creator_channel_live.xml").readText()
|
||||
|
||||
assertTrue(layout.contains("android:id=\"@+id/layout_creator_channel_live_owner_cta\""))
|
||||
assertTrue(layout.contains("@drawable/ic_new_create_live"))
|
||||
assertTrue(layout.contains("@string/creator_channel_live_start_button"))
|
||||
assertTrue(fragment.contains("setupOwnerCtaInsets()"))
|
||||
assertTrue(fragment.contains("WindowInsetsCompat.Type.navigationBars()"))
|
||||
assertTrue(fragment.contains("layoutCreatorChannelLiveOwnerCta.updateLayoutParams<ConstraintLayout.LayoutParams>"))
|
||||
assertTrue(fragment.contains("rvCreatorChannelLiveReplays.updatePadding"))
|
||||
assertTrue(fragment.contains("onCreatorChannelOwnerChanged(isOwner: Boolean)"))
|
||||
assertTrue(fragment.contains("bindOwnerCta(host.isCreatorChannelOwner())"))
|
||||
assertTrue(fragment.contains("layoutCreatorChannelLiveOwnerCta.isVisible = isOwner"))
|
||||
assertTrue(fragment.contains("layoutCreatorChannelLiveOwnerCta.setOnClickListener"))
|
||||
assertTrue(fragment.contains("host.onCreatorChannelLiveStartClicked()"))
|
||||
assertTrue(fragment.contains("layoutCreatorChannelLiveOwnerCta.isEnabled = false"))
|
||||
assertTrue(fragment.contains("onResume()"))
|
||||
assertTrue(fragment.contains("interface Host"))
|
||||
assertTrue(fragment.contains("fun isCreatorChannelOwner(): Boolean"))
|
||||
assertTrue(fragment.contains("fun onCreatorChannelLiveStartClicked()"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `라이브 sort popup source는 outside dismiss와 화면 밖 보정 및 같은 정렬 dismiss를 포함한다`() {
|
||||
val popup = projectFile(
|
||||
|
||||
Reference in New Issue
Block a user