diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/fantalk/CreatorChannelFanTalkFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/fantalk/CreatorChannelFanTalkFragment.kt index 44e59a36..f620d569 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/fantalk/CreatorChannelFanTalkFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/fantalk/CreatorChannelFanTalkFragment.kt @@ -23,7 +23,8 @@ class CreatorChannelFanTalkFragment : BaseFragment Unit = { _, _ -> }, - private val onReportClick: (CreatorChannelFanTalkUiModel) -> Unit = { } + private val onReportClick: (CreatorChannelFanTalkUiModel) -> Unit = { }, + private val onItemClick: (CreatorChannelFanTalkUiModel) -> Unit = { } ) : RecyclerView.Adapter() { private var items: List = emptyList() @@ -29,7 +30,8 @@ class CreatorChannelFanTalkAdapter( return ViewHolder( ItemCreatorChannelFantalkBinding.inflate(LayoutInflater.from(parent.context), parent, false), onOwnerMoreClick, - onReportClick + onReportClick, + onItemClick ) } @@ -42,7 +44,8 @@ class CreatorChannelFanTalkAdapter( class ViewHolder( private val binding: ItemCreatorChannelFantalkBinding, private val onOwnerMoreClick: (View, CreatorChannelFanTalkUiModel) -> Unit, - private val onReportClick: (CreatorChannelFanTalkUiModel) -> Unit + private val onReportClick: (CreatorChannelFanTalkUiModel) -> Unit, + private val onItemClick: (CreatorChannelFanTalkUiModel) -> Unit ) : RecyclerView.ViewHolder(binding.root) { fun bind(item: CreatorChannelFanTalkUiModel) = with(binding) { @@ -50,6 +53,8 @@ class CreatorChannelFanTalkAdapter( tvCreatorChannelFantalkNickname.text = item.writerNickname tvCreatorChannelFantalkTime.text = item.createdAtText tvCreatorChannelFantalkContent.text = item.content + root.setOnClickListener { onItemClick(item) } + tvCreatorChannelFantalkContent.setOnClickListener { onItemClick(item) } bindRightAction(item) bindReply(item.reply) } diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/fantalk/CreatorChannelFanTalkFragmentLayoutTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/fantalk/CreatorChannelFanTalkFragmentLayoutTest.kt index 6c3e97a5..32ab9b5a 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/fantalk/CreatorChannelFanTalkFragmentLayoutTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/fantalk/CreatorChannelFanTalkFragmentLayoutTest.kt @@ -153,7 +153,9 @@ class CreatorChannelFanTalkFragmentLayoutTest { assertTrue(adapter.contains("R.drawable.ic_placeholder_profile")) assertTrue(adapter.contains("CreatorChannelFanTalkRightAction.Report")) assertTrue(adapter.contains("CreatorChannelFanTalkRightAction.OwnerMore")) - assertFalse(adapter.contains("root.setOnClickListener")) + assertTrue(adapter.contains("private val onItemClick: (CreatorChannelFanTalkUiModel) -> Unit")) + assertTrue(adapter.contains("root.setOnClickListener { onItemClick(item) }")) + assertTrue(adapter.contains("tvCreatorChannelFantalkContent.setOnClickListener { onItemClick(item) }")) assertTrue(popup.contains("PopupWindow(anchor.context)")) assertTrue(popup.contains("tvCreatorChannelFantalkMoreEdit.isVisible = showEdit")) assertTrue(popup.contains("tvCreatorChannelFantalkMoreDelete.isVisible = showDelete")) @@ -192,6 +194,9 @@ class CreatorChannelFanTalkFragmentLayoutTest { assertTrue(fragment.contains("fun onCreatorChannelFanTalkDeleteClicked(fanTalkId: Long)")) assertTrue(adapter.contains("private val onReportClick: (CreatorChannelFanTalkUiModel) -> Unit")) assertTrue(adapter.contains("tvCreatorChannelFantalkReport.setOnClickListener { onReportClick(item) }")) + assertTrue(adapter.contains("ivCreatorChannelFantalkMore.setOnClickListener { onOwnerMoreClick(it, item) }")) + assertTrue(fragment.contains("onItemClick = { host.onCreatorChannelFanTalkItemClicked(it) }")) + assertTrue(fragment.contains("fun onCreatorChannelFanTalkItemClicked(item: CreatorChannelFanTalkUiModel)")) } @Test