diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/live/CreatorChannelLiveFragmentLayoutTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/live/CreatorChannelLiveFragmentLayoutTest.kt index f85aaf6e..467b1422 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/live/CreatorChannelLiveFragmentLayoutTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/live/CreatorChannelLiveFragmentLayoutTest.kt @@ -91,20 +91,20 @@ class CreatorChannelLiveFragmentLayoutTest { @Test fun `라이브 sort popup layout은 Figma 기준 option row와 선택 배경을 제공한다`() { - val popup = inflateView(R.layout.view_creator_channel_live_sort_menu) + val popup = inflateView(R.layout.view_creator_channel_sort_menu) val popupLayout = projectFile( - "app/src/main/res/layout/view_creator_channel_live_sort_menu.xml" + "app/src/main/res/layout/view_creator_channel_sort_menu.xml" ).readText() val popupBackground = projectFile( - "app/src/main/res/drawable/bg_creator_channel_live_sort_popup.xml" + "app/src/main/res/drawable/bg_creator_channel_sort_popup.xml" ).readText() val selectedBackground = projectFile( - "app/src/main/res/drawable/bg_creator_channel_live_sort_selected.xml" + "app/src/main/res/drawable/bg_creator_channel_sort_selected.xml" ).readText() - assertNotNull(popup.findViewById(R.id.layout_creator_channel_live_sort_options)) - assertTrue(popupLayout.contains("@drawable/bg_creator_channel_live_sort_popup")) - assertTrue(popupLayout.contains("@+id/layout_creator_channel_live_sort_options")) + assertNotNull(popup.findViewById(R.id.layout_creator_channel_sort_options)) + assertTrue(popupLayout.contains("@drawable/bg_creator_channel_sort_popup")) + assertTrue(popupLayout.contains("@+id/layout_creator_channel_sort_options")) assertTrue(popupLayout.contains("android:paddingHorizontal=\"@dimen/spacing_12\"")) assertTrue(popupLayout.contains("android:paddingVertical=\"@dimen/spacing_8\"")) assertTrue(popupLayout.contains("android:fontFamily=\"@font/medium\"")) @@ -115,49 +115,49 @@ class CreatorChannelLiveFragmentLayoutTest { } @Test - fun `라이브 다시듣기 item layout은 썸네일 tag title duration action 영역을 제공한다`() { - val item = inflateView(R.layout.item_creator_channel_live_replay) - val itemLayout = projectFile("app/src/main/res/layout/item_creator_channel_live_replay.xml").readText() + fun `라이브 다시듣기 공통 item layout은 썸네일 tag title secondary action 영역을 제공한다`() { + val item = inflateView(R.layout.item_creator_channel_audio_content) + val itemLayout = projectFile("app/src/main/res/layout/item_creator_channel_audio_content.xml").readText() val adapter = projectFile( "app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/live/ui/CreatorChannelLiveReplayAdapter.kt" ).readText() - val thumbnail = requireNotNull(item.findViewById(R.id.layout_creator_channel_live_replay_thumbnail)) + val thumbnail = requireNotNull(item.findViewById(R.id.layout_creator_channel_audio_content_thumbnail)) - assertNotNull(item.findViewById(R.id.iv_creator_channel_live_replay_thumbnail)) - assertNotNull(item.findViewById(R.id.iv_creator_channel_live_replay_adult_badge)) - assertNotNull(item.findViewById(R.id.iv_creator_channel_live_replay_original_tag)) - assertNotNull(item.findViewById(R.id.iv_creator_channel_live_replay_first_tag)) - assertNotNull(item.findViewById(R.id.iv_creator_channel_live_replay_point_tag)) - assertNotNull(item.findViewById(R.id.tv_creator_channel_live_replay_free_tag)) - assertNotNull(item.findViewById(R.id.tv_creator_channel_live_replay_title)) - assertNotNull(item.findViewById(R.id.tv_creator_channel_live_replay_duration)) - assertNotNull(item.findViewById(R.id.layout_creator_channel_live_replay_action)) - assertNotNull(item.findViewById(R.id.iv_creator_channel_live_replay_play)) - assertNotNull(item.findViewById(R.id.iv_creator_channel_live_replay_can)) - assertNotNull(item.findViewById(R.id.layout_creator_channel_live_replay_action_text)) - assertNotNull(item.findViewById(R.id.tv_creator_channel_live_replay_action_text)) + assertNotNull(item.findViewById(R.id.iv_creator_channel_audio_content_thumbnail)) + assertNotNull(item.findViewById(R.id.iv_creator_channel_audio_content_adult_badge)) + assertNotNull(item.findViewById(R.id.iv_creator_channel_audio_content_original_tag)) + assertNotNull(item.findViewById(R.id.iv_creator_channel_audio_content_first_tag)) + assertNotNull(item.findViewById(R.id.iv_creator_channel_audio_content_point_tag)) + assertNotNull(item.findViewById(R.id.tv_creator_channel_audio_content_free_tag)) + assertNotNull(item.findViewById(R.id.tv_creator_channel_audio_content_title)) + assertNotNull(item.findViewById(R.id.tv_creator_channel_audio_content_secondary_text)) + assertNotNull(item.findViewById(R.id.layout_creator_channel_audio_content_action)) + assertNotNull(item.findViewById(R.id.iv_creator_channel_audio_content_play)) + assertNotNull(item.findViewById(R.id.iv_creator_channel_audio_content_can)) + assertNotNull(item.findViewById(R.id.layout_creator_channel_audio_content_action_text)) + assertNotNull(item.findViewById(R.id.tv_creator_channel_audio_content_action_text)) assertEquals(dp(88), thumbnail.layoutParams.width) assertEquals(dp(88), thumbnail.layoutParams.height) assertTrue(itemLayout.contains("android:layout_marginBottom=\"@dimen/spacing_8\"")) assertTrue(itemLayout.contains("android:clipToOutline=\"true\"")) assertTrue(itemLayout.contains("android:outlineProvider=\"background\"")) assertTrue(itemLayout.contains("@drawable/bg_audio_content_card_thumbnail")) - assertTrue(adapter.contains("layoutCreatorChannelLiveReplayThumbnail.clipToOutline = true")) + assertTrue(adapter.contains("layoutCreatorChannelAudioContentThumbnail.clipToOutline = true")) assertTrue(adapter.contains("resources.getDimension(R.dimen.radius_14)")) } @Test fun `라이브 layout은 가격 영역을 유연한 너비와 bar cash icon으로 제공한다`() { val fragmentLayout = projectFile("app/src/main/res/layout/fragment_creator_channel_live.xml").readText() - val itemLayout = projectFile("app/src/main/res/layout/item_creator_channel_live_replay.xml").readText() + val itemLayout = projectFile("app/src/main/res/layout/item_creator_channel_audio_content.xml").readText() val root = inflateView(R.layout.fragment_creator_channel_live) - val item = inflateView(R.layout.item_creator_channel_live_replay) + val item = inflateView(R.layout.item_creator_channel_audio_content) val currentPrice = requireNotNull(root.findViewById(R.id.layout_creator_channel_live_current_price)) val currentPriceCash = requireNotNull(root.findViewById(R.id.iv_creator_channel_live_current_price_cash)) - val replayAction = requireNotNull(item.findViewById(R.id.layout_creator_channel_live_replay_action)) - val replayPlay = requireNotNull(item.findViewById(R.id.iv_creator_channel_live_replay_play)) - val actionText = requireNotNull(item.findViewById(R.id.layout_creator_channel_live_replay_action_text)) - val adultBadge = requireNotNull(item.findViewById(R.id.iv_creator_channel_live_replay_adult_badge)) + val replayAction = requireNotNull(item.findViewById(R.id.layout_creator_channel_audio_content_action)) + val replayPlay = requireNotNull(item.findViewById(R.id.iv_creator_channel_audio_content_play)) + val actionText = requireNotNull(item.findViewById(R.id.layout_creator_channel_audio_content_action_text)) + val adultBadge = requireNotNull(item.findViewById(R.id.iv_creator_channel_audio_content_adult_badge)) val adultBadgeParams = adultBadge.layoutParams as ViewGroup.MarginLayoutParams assertEquals(ViewGroup.LayoutParams.WRAP_CONTENT, currentPrice.layoutParams.width) @@ -183,7 +183,7 @@ class CreatorChannelLiveFragmentLayoutTest { ) assertFalse( itemLayout.contains( - "android:id=\"@+id/layout_creator_channel_live_replay_action\"\n" + + "android:id=\"@+id/layout_creator_channel_audio_content_action\"\n" + " android:layout_width=\"60dp\"" ) ) @@ -208,7 +208,7 @@ class CreatorChannelLiveFragmentLayoutTest { """.trimIndent() assertTrue(fragment.contains("R.drawable.ic_new_sort")) - assertTrue(fragment.contains("CreatorChannelLiveSortPopup")) + assertTrue(fragment.contains("CreatorChannelSortPopup")) assertTrue(fragment.contains("layoutCreatorChannelLiveSortButton.setOnClickListener")) assertTrue(fragment.contains("showSortPopup")) assertTrue(fragment.contains("viewModel.changeSort(sort)")) @@ -234,9 +234,9 @@ class CreatorChannelLiveFragmentLayoutTest { assertFalse(fragment.contains("addOnScrollListener(object : RecyclerView.OnScrollListener()")) assertTrue(adapter.contains("R.drawable.ic_new_shield_small")) assertTrue(adapter.contains("R.drawable.ic_new_player_play")) - assertTrue(adapter.contains("ivCreatorChannelLiveReplayPlay.isVisible = true")) - assertTrue(adapter.contains("layoutCreatorChannelLiveReplayActionText.isVisible = false")) - assertTrue(adapter.contains("layoutCreatorChannelLiveReplayActionText.isVisible = true")) + assertTrue(adapter.contains("ivCreatorChannelAudioContentPlay.isVisible = true")) + assertTrue(adapter.contains("layoutCreatorChannelAudioContentActionText.isVisible = false")) + assertTrue(adapter.contains("layoutCreatorChannelAudioContentActionText.isVisible = true")) } @Test @@ -282,7 +282,7 @@ class CreatorChannelLiveFragmentLayoutTest { @Test fun `라이브 sort popup source는 outside dismiss와 화면 밖 보정 및 같은 정렬 dismiss를 포함한다`() { val popup = projectFile( - "app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/live/ui/CreatorChannelLiveSortPopup.kt" + "app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelSortPopup.kt" ).readText() assertTrue(popup.contains("PopupWindow")) diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/live/CreatorChannelLiveMapperTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/live/CreatorChannelLiveMapperTest.kt index ffe08265..2c6289a1 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/live/CreatorChannelLiveMapperTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/live/CreatorChannelLiveMapperTest.kt @@ -4,8 +4,8 @@ import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.v2.common.data.ContentSort import kr.co.vividnext.sodalive.v2.creator.channel.data.CreatorChannelAudioContentResponse import kr.co.vividnext.sodalive.v2.creator.channel.live.model.CreatorChannelLiveReplayStatus -import kr.co.vividnext.sodalive.v2.creator.channel.live.model.toLabelResId import kr.co.vividnext.sodalive.v2.creator.channel.live.model.toReplayUiModel +import kr.co.vividnext.sodalive.v2.creator.channel.model.toLabelResId import kr.co.vividnext.sodalive.v2.widget.AudioContentTag import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse