feat(chat): 채팅방 필터 모델을 추가한다
This commit is contained in:
@@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user