From a0b95ea3bd23f0917bc3c79877be0a063bd09985 Mon Sep 17 00:00:00 2001 From: klaus Date: Thu, 11 Jun 2026 11:17:26 +0900 Subject: [PATCH] =?UTF-8?q?feat(chat):=20=EC=B1=84=ED=8C=85=20=ED=83=AD?= =?UTF-8?q?=EC=97=90=EC=84=9C=20DM=20=EC=B1=84=ED=8C=85=EB=B0=A9=EC=9D=84?= =?UTF-8?q?=20=EC=97=B0=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/vividnext/sodalive/v2/main/chat/ChatMainFragment.kt | 7 +++++-- .../sodalive/v2/main/chat/ChatMainFragmentLayoutTest.kt | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/ChatMainFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/ChatMainFragment.kt index 09730b83..74dd4c42 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/ChatMainFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/ChatMainFragment.kt @@ -12,6 +12,7 @@ import kr.co.vividnext.sodalive.base.BaseFragment import kr.co.vividnext.sodalive.chat.talk.room.ChatRoomActivity import kr.co.vividnext.sodalive.common.LoadingDialog import kr.co.vividnext.sodalive.databinding.FragmentV2MainChatBinding +import kr.co.vividnext.sodalive.v2.main.chat.dm.DmChatRoomActivity import kr.co.vividnext.sodalive.v2.main.chat.model.ChatRoomFilter import kr.co.vividnext.sodalive.v2.main.chat.model.ChatRoomListUiItem import kr.co.vividnext.sodalive.v2.main.chat.model.ChatRoomListUiState @@ -124,7 +125,9 @@ class ChatMainFragment : BaseFragment( } private fun onChatRoomClick(item: ChatRoomListUiItem) { - if (item.chatType != ChatRoomType.AI) return - startActivity(ChatRoomActivity.newIntent(requireContext(), item.roomId)) + when (item.chatType) { + ChatRoomType.AI -> startActivity(ChatRoomActivity.newIntent(requireContext(), item.roomId)) + ChatRoomType.DM -> startActivity(DmChatRoomActivity.newIntentByRoomId(requireContext(), item.roomId)) + } } } diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/chat/ChatMainFragmentLayoutTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/chat/ChatMainFragmentLayoutTest.kt index 380e3ba1..40810d31 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/chat/ChatMainFragmentLayoutTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/chat/ChatMainFragmentLayoutTest.kt @@ -124,12 +124,15 @@ class ChatMainFragmentLayoutTest { } @Test - fun `채팅 fragment source는 AI 항목만 채팅방으로 이동한다`() { + fun `채팅 fragment source는 AI와 DM 항목을 각각 채팅방으로 이동한다`() { val source = chatMainFragmentSource() assertTrue(source.contains("private fun onChatRoomClick(item: ChatRoomListUiItem)")) - assertTrue(source.contains("if (item.chatType != ChatRoomType.AI) return")) + assertTrue(source.contains("when (item.chatType)")) + assertTrue(source.contains("ChatRoomType.AI ->")) assertTrue(source.contains("ChatRoomActivity.newIntent(requireContext(), item.roomId)")) + assertTrue(source.contains("ChatRoomType.DM ->")) + assertTrue(source.contains("DmChatRoomActivity.newIntentByRoomId(requireContext(), item.roomId)")) assertTrue(source.contains("btnChatFloating.setOnClickListener { }")) }