fix(content): 추천 오디오 카드 폭을 보정한다

This commit is contained in:
2026-07-09 14:56:19 +09:00
parent f3d610633c
commit 379263ec87
4 changed files with 91 additions and 12 deletions

View File

@@ -494,6 +494,34 @@ class ContentMainFragmentSourceTest {
assertEquals(null, banner(link = "mailto:test@example.com").toContentBannerRoute())
}
@Test
fun `content 추천 오디오 adapter는 fixed Large card width 대신 2열 grid item width를 사용한다`() {
val fragment = projectFile(
"app/src/main/java/kr/co/vividnext/sodalive/v2/main/content/ContentMainFragment.kt"
).readText()
val audioAdapter = projectFile(
"app/src/main/java/kr/co/vividnext/sodalive/v2/main/content/ui/ContentAudioCardAdapter.kt"
).readText()
assertSourceContains(audioAdapter, "private var gridItemWidthPx: Int = 0")
assertSourceContains(audioAdapter, "fun setGridItemWidthPx(widthPx: Int)")
assertSourceContains(audioAdapter, "if (widthPx <= 0 || gridItemWidthPx == widthPx) return")
assertFalse(audioAdapter.contains("notifyDataSetChanged()"))
assertSourceContains(audioAdapter, "notifyItemRangeChanged(0, items.size)")
assertSourceContains(audioAdapter, "notifyItemRangeInserted(previousItemCount, currentItemCount - previousItemCount)")
assertSourceContains(audioAdapter, "notifyItemRangeRemoved(currentItemCount, previousItemCount - currentItemCount)")
assertSourceContains(fragment, "private fun updateRecommendedAudioGridItemWidth()")
assertSourceContains(
fragment,
"binding.rvContentRecommendedAudios.calculateContentGridItemWidthPx("
)
assertSourceContains(fragment, "CONTENT_RECOMMENDED_GRID_SPAN_COUNT")
assertSourceContains(fragment, "gapDp = CONTENT_RECOMMENDED_GRID_GAP_DP")
assertSourceContains(fragment, "recommendedAudioAdapter.setGridItemWidthPx(widthPx)")
assertSourceContains(fragment, "doOnLayout { updateRecommendedAudioGridItemWidth() }")
assertSourceContains(audioAdapter, "setGridItemWidthPx(gridItemWidthPx)")
}
@Test
fun `content 전체 탭 adapter는 fixed Small card width 대신 grid item width를 사용한다`() {
val fragment = projectFile(
@@ -538,7 +566,7 @@ class ContentMainFragmentSourceTest {
assertSourceContains(audioAdapter, "setGridItemWidthPx(gridItemWidthPx)")
assertSourceContains(seriesAdapter, "setGridItemWidthPx(gridItemWidthPx)")
assertSourceContains(layoutParams, "measuredWidth - paddingLeft - paddingRight")
assertSourceContains(layoutParams, "GRID_ITEM_GAP_DP.dpToPx() * (spanCount - 1)")
assertSourceContains(layoutParams, "gapDp.dpToPx() * (spanCount - 1)")
assertSourceContains(audioCard, "fun setGridItemWidthPx(widthPx: Int)")
assertSourceContains(seriesCard, "fun setGridItemWidthPx(widthPx: Int)")
assertSourceContains(seriesCard, "172f / 122f")