fix(creator): 커뮤니티 썸네일 그리드를 보정한다
This commit is contained in:
@@ -9,6 +9,7 @@ import android.widget.TextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.test.core.app.ApplicationProvider
|
||||
import kr.co.vividnext.sodalive.R
|
||||
import kr.co.vividnext.sodalive.v2.creator.channel.community.ui.calculateCreatorChannelCommunityGridItemSize
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertNotNull
|
||||
import org.junit.Assert.assertSame
|
||||
@@ -80,13 +81,14 @@ class CreatorChannelCommunityFragmentLayoutTest {
|
||||
assertNotNull(item.findViewById<TextView>(R.id.tv_creator_channel_community_list_comment_count))
|
||||
assertNotNull(item.findViewById<TextView>(R.id.tv_creator_channel_community_list_like_count))
|
||||
assertNotNull(item.findViewById<View>(R.id.layout_creator_channel_community_list_top_actions))
|
||||
assertNotNull(item.findViewById<View>(R.id.layout_creator_channel_community_list_top_price))
|
||||
assertNotNull(item.findViewById<ImageView>(R.id.iv_creator_channel_community_list_owner_more))
|
||||
assertNotNull(item.findViewById<TextView>(R.id.tv_creator_channel_community_list_top_price))
|
||||
assertSame(imageContainer, (lockIcon.parent as View).parent)
|
||||
assertSame(imageContainer, (lockedPrice.parent as View).parent)
|
||||
assertSame(
|
||||
item.findViewById<View>(R.id.layout_creator_channel_community_list_top_actions),
|
||||
item.findViewById<TextView>(R.id.tv_creator_channel_community_list_top_price).parent
|
||||
item.findViewById<View>(R.id.layout_creator_channel_community_list_top_price).parent
|
||||
)
|
||||
assertTrue(itemLayout.contains("android:id=\"@+id/layout_creator_channel_community_list_locked_overlay\""))
|
||||
assertTrue(itemLayout.contains("android:id=\"@+id/tv_creator_channel_community_list_locked_price\""))
|
||||
@@ -103,9 +105,16 @@ class CreatorChannelCommunityFragmentLayoutTest {
|
||||
assertNotNull(item.findViewById<ImageView>(R.id.iv_creator_channel_community_grid_image))
|
||||
assertNotNull(item.findViewById<TextView>(R.id.tv_creator_channel_community_grid_text_preview))
|
||||
assertNotNull(item.findViewById<TextView>(R.id.tv_creator_channel_community_grid_lock_price))
|
||||
assertNotNull(item.findViewById<TextView>(R.id.tv_creator_channel_community_grid_notice))
|
||||
assertNotNull(item.findViewById<ImageView>(R.id.iv_creator_channel_community_grid_notice))
|
||||
assertTrue(itemLayout.contains("android:id=\"@+id/layout_creator_channel_community_grid_root\""))
|
||||
assertTrue(itemLayout.contains("app:layout_constraintDimensionRatio=\"1:1\"") || itemLayout.contains("Square"))
|
||||
assertTrue(itemLayout.contains("android:layout_width=\"wrap_content\""))
|
||||
assertTrue(itemLayout.contains("android:layout_height=\"wrap_content\""))
|
||||
assertTrue(!itemLayout.contains("android:layout_margin=\"@dimen/spacing_4\""))
|
||||
assertTrue(!itemLayout.contains("android:background=\"@drawable/bg_feed_card\""))
|
||||
assertTrue(!itemLayout.contains("android:background=\"@drawable/bg_feed_community_image\""))
|
||||
assertTrue(itemLayout.contains("android:id=\"@+id/iv_creator_channel_community_grid_notice\""))
|
||||
assertTrue(itemLayout.contains("android:src=\"@drawable/ic_pin\""))
|
||||
assertTrue(itemLayout.contains("android:layout_gravity=\"top|end\""))
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -142,6 +151,10 @@ class CreatorChannelCommunityFragmentLayoutTest {
|
||||
fragment.contains("GridLayoutManager(requireContext(), 3") ||
|
||||
fragment.contains("GridLayoutManager(context, 3")
|
||||
)
|
||||
assertTrue(fragment.contains("applyCommunityGridPadding"))
|
||||
assertTrue(fragment.contains("updateGridItemSize()"))
|
||||
assertTrue(fragment.contains("doOnLayout"))
|
||||
assertTrue(fragment.contains("calculateCreatorChannelCommunityGridItemSize("))
|
||||
assertTrue(fragment.contains("viewModel.consumePaginationErrorMessage()"))
|
||||
assertTrue(fragment.contains("applyOwnerCtaPadding"))
|
||||
assertTrue(fragment.contains("pauseContent"))
|
||||
@@ -171,8 +184,14 @@ class CreatorChannelCommunityFragmentLayoutTest {
|
||||
assertTrue(listAdapter.contains("R.drawable.ic_new_player_play"))
|
||||
assertTrue(listAdapter.contains("onOwnerMoreClick(item)"))
|
||||
assertTrue(listAdapter.contains("tvCreatorChannelCommunityListLockedPrice.isVisible = item.isLocked"))
|
||||
assertTrue(listAdapter.contains("tvCreatorChannelCommunityListTopPrice.isVisible = item.showOwnerTopPrice"))
|
||||
assertTrue(listAdapter.contains("layoutCreatorChannelCommunityListTopPrice.isVisible = item.showOwnerTopPrice"))
|
||||
assertTrue(!listAdapter.contains("item.isLocked || item.showOwnerTopPrice"))
|
||||
assertTrue(gridAdapter.contains(".asBitmap()"))
|
||||
assertTrue(gridAdapter.contains("CenterCrop()"))
|
||||
assertTrue(!gridAdapter.contains("RoundedCorners"))
|
||||
assertTrue(!gridAdapter.contains("14f.dpToPx()"))
|
||||
assertTrue(!gridAdapter.contains("root.clipToOutline = true"))
|
||||
assertTrue(!listAdapter.contains(".asBitmap()"))
|
||||
assertTrue(!listAdapter.contains("root.setOnClickListener"))
|
||||
assertTrue(!gridAdapter.contains("root.setOnClickListener"))
|
||||
}
|
||||
@@ -205,18 +224,26 @@ class CreatorChannelCommunityFragmentLayoutTest {
|
||||
assertTrue(listAdapter.contains("ivCreatorChannelCommunityListImage.setImageDrawable(null)"))
|
||||
assertTrue(gridAdapter.contains("val visibleImageUrl = item.imageUrl.takeIf"))
|
||||
assertTrue(gridAdapter.contains("item.imageMode == CreatorChannelCommunityImageMode.Image"))
|
||||
assertTrue(gridAdapter.contains("!item.isLocked && item.imageMode != CreatorChannelCommunityImageMode.Image"))
|
||||
assertTrue(gridAdapter.contains("ivCreatorChannelCommunityGridImage.setImageDrawable(null)"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `커뮤니티 grid adapter source는 margin을 제외한 3열 정사각 크기를 계산한다`() {
|
||||
fun `커뮤니티 grid adapter source는 레거시처럼 itemSize로 root 정사각 크기를 고정한다`() {
|
||||
val gridAdapter = projectFile(
|
||||
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/community/ui/CreatorChannelCommunityGridAdapter.kt"
|
||||
).readText()
|
||||
|
||||
assertTrue(gridAdapter.contains("leftMargin + rightMargin"))
|
||||
assertTrue(gridAdapter.contains("availableWidth - totalHorizontalMargins"))
|
||||
assertTrue(gridAdapter.contains("coerceAtLeast(0)"))
|
||||
assertEquals(120, calculateCreatorChannelCommunityGridItemSize(360))
|
||||
assertEquals(134, calculateCreatorChannelCommunityGridItemSize(402))
|
||||
assertEquals(0, calculateCreatorChannelCommunityGridItemSize(-1))
|
||||
assertTrue(gridAdapter.contains("setItemSizePx"))
|
||||
assertTrue(gridAdapter.contains("private var itemSizePx: Int = 0"))
|
||||
assertTrue(gridAdapter.contains("calculateCreatorChannelCommunityGridItemSize("))
|
||||
assertTrue(gridAdapter.contains("width = itemSizePx"))
|
||||
assertTrue(gridAdapter.contains("height = itemSizePx"))
|
||||
assertTrue(!gridAdapter.contains("itemHorizontalMargins"))
|
||||
assertTrue(!gridAdapter.contains("totalHorizontalMargins"))
|
||||
}
|
||||
|
||||
private fun inflateView(layoutResId: Int): View {
|
||||
|
||||
Reference in New Issue
Block a user