From 4c351da60ca2a1ef3affe23df365dc9bef4d7259 Mon Sep 17 00:00:00 2001 From: klaus Date: Wed, 10 Jun 2026 11:05:39 +0900 Subject: [PATCH] =?UTF-8?q?feat(chat):=20=EC=B1=84=ED=8C=85=EB=B0=A9=20?= =?UTF-8?q?=ED=95=84=ED=84=B0=20=EB=AA=A8=EB=8D=B8=EC=9D=84=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2/main/chat/model/ChatRoomFilter.kt | 15 ++++++++++ .../v2/main/chat/ChatRoomFilterTest.kt | 28 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomFilter.kt create mode 100644 app/src/test/java/kr/co/vividnext/sodalive/v2/main/chat/ChatRoomFilterTest.kt diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomFilter.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomFilter.kt new file mode 100644 index 00000000..9c852d02 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomFilter.kt @@ -0,0 +1,15 @@ +package kr.co.vividnext.sodalive.v2.main.chat.model + +enum class ChatRoomFilter(val apiValue: String) { + ALL("ALL"), + AI("AI"), + DM("DM"); + + companion object { + fun fromTabIndex(index: Int): ChatRoomFilter = when (index) { + 1 -> AI + 2 -> DM + else -> ALL + } + } +} diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/chat/ChatRoomFilterTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/chat/ChatRoomFilterTest.kt new file mode 100644 index 00000000..9068d594 --- /dev/null +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/chat/ChatRoomFilterTest.kt @@ -0,0 +1,28 @@ +package kr.co.vividnext.sodalive.v2.main.chat + +import kr.co.vividnext.sodalive.v2.main.chat.model.ChatRoomFilter +import org.junit.Assert.assertEquals +import org.junit.Test + +class ChatRoomFilterTest { + + @Test + fun `탭 index는 채팅방 filter로 매핑된다`() { + assertEquals(ChatRoomFilter.ALL, ChatRoomFilter.fromTabIndex(0)) + assertEquals(ChatRoomFilter.AI, ChatRoomFilter.fromTabIndex(1)) + assertEquals(ChatRoomFilter.DM, ChatRoomFilter.fromTabIndex(2)) + } + + @Test + fun `유효하지 않은 탭 index는 전체 filter로 매핑된다`() { + assertEquals(ChatRoomFilter.ALL, ChatRoomFilter.fromTabIndex(-1)) + assertEquals(ChatRoomFilter.ALL, ChatRoomFilter.fromTabIndex(3)) + } + + @Test + fun `filter api value는 요청 계약과 일치한다`() { + assertEquals("ALL", ChatRoomFilter.ALL.apiValue) + assertEquals("AI", ChatRoomFilter.AI.apiValue) + assertEquals("DM", ChatRoomFilter.DM.apiValue) + } +}