diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeAiCharacterAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeAiCharacterAdapter.kt index cad31d71..13b85505 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeAiCharacterAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeAiCharacterAdapter.kt @@ -23,7 +23,8 @@ class HomeAiCharacterAdapter : RecyclerView.Adapter diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragmentLayoutTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragmentLayoutTest.kt index d62492fd..ec02121a 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragmentLayoutTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragmentLayoutTest.kt @@ -17,6 +17,7 @@ import androidx.test.core.app.ApplicationProvider import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationFirstAudioContentUiModel import kr.co.vividnext.sodalive.v2.main.home.model.HomeRecommendationLiveUiModel +import kr.co.vividnext.sodalive.v2.main.home.ui.HomeAiCharacterAdapter import kr.co.vividnext.sodalive.v2.main.home.ui.HomeFirstAudioAdapter import kr.co.vividnext.sodalive.v2.main.home.ui.HomeLiveAdapter import kr.co.vividnext.sodalive.v2.main.home.ui.HomeRecentDebutCreatorAdapter @@ -183,6 +184,41 @@ class HomeMainFragmentLayoutTest { assertEquals(4.dpToPx(), layoutParams.marginEnd) } + @Test + fun `character chat thumbnail preserves figma root dimensions`() { + val thumbnail = inflateViewWithParent(R.layout.view_character_chat_thumbnail) + + assertEquals(185.dpToPx(), thumbnail.layoutParams.width) + assertEquals(ViewGroup.LayoutParams.WRAP_CONTENT, thumbnail.layoutParams.height) + } + + @Test + fun `home ai character section matches figma list spacing`() { + val root = inflateView(R.layout.fragment_v2_main_home) + val characterList = root.findViewById(R.id.rv_home_ai_characters) + val context = ApplicationProvider.getApplicationContext() + val parent = RecyclerView(context) + parent.layoutManager = LinearLayoutManager(context, RecyclerView.HORIZONTAL, false) + val viewHolder = HomeAiCharacterAdapter().onCreateViewHolder(parent, 0) + val layoutParams = viewHolder.itemView.layoutParams as ViewGroup.MarginLayoutParams + + assertEquals(14.dpToPx(), characterList.paddingStart) + assertEquals(14.dpToPx(), characterList.paddingEnd) + assertEquals(14.dpToPx(), (characterList.layoutParams as ViewGroup.MarginLayoutParams).topMargin) + assertEquals(4.dpToPx(), layoutParams.marginEnd) + } + + @Test + fun `home ai character adapter preserves layout defined item dimensions`() { + val context = ApplicationProvider.getApplicationContext() + val parent = RecyclerView(context) + parent.layoutManager = LinearLayoutManager(context, RecyclerView.HORIZONTAL, false) + val viewHolder = HomeAiCharacterAdapter().onCreateViewHolder(parent, 0) + + assertEquals(185.dpToPx(), viewHolder.itemView.layoutParams.width) + assertEquals(ViewGroup.LayoutParams.WRAP_CONTENT, viewHolder.itemView.layoutParams.height) + } + @Test fun `first audio adapter clips thumbnail container`() { val context = ApplicationProvider.getApplicationContext()