feat(chat): 채팅방 필터 모델을 추가한다

This commit is contained in:
2026-06-10 11:05:39 +09:00
parent 89837877a2
commit 4c351da60c
2 changed files with 43 additions and 0 deletions

View File

@@ -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
}
}
}

View File

@@ -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)
}
}