diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomMappers.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomMappers.kt index e3ed7f7e..1cf560d4 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomMappers.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomMappers.kt @@ -1,9 +1,8 @@ package kr.co.vividnext.sodalive.v2.main.chat.model -import android.content.Context import kr.co.vividnext.sodalive.v2.main.chat.data.ChatRoomListItemResponse -fun ChatRoomListItemResponse.toUiItem(context: Context): ChatRoomListUiItem? { +fun ChatRoomListItemResponse.toUiItem(): ChatRoomListUiItem? { val type = when (chatType) { ChatRoomType.AI.name -> ChatRoomType.AI ChatRoomType.DM.name -> ChatRoomType.DM @@ -16,9 +15,9 @@ fun ChatRoomListItemResponse.toUiItem(context: Context): ChatRoomListUiItem? { targetName = targetName, targetImageUrl = targetImageUrl, lastMessage = lastMessage, - lastMessageTimeText = formatChatRoomLastMessageTime(context, lastMessageAt), + lastMessageAt = lastMessageAt, showDirectBadge = type == ChatRoomType.DM ) } -fun List.toUiItems(context: Context): List = mapNotNull { it.toUiItem(context) } +fun List.toUiItems(): List = mapNotNull { it.toUiItem() } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomUiModels.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomUiModels.kt index 24e1022e..96051a39 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomUiModels.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomUiModels.kt @@ -11,7 +11,7 @@ data class ChatRoomListUiItem( val targetName: String, val targetImageUrl: String, val lastMessage: String, - val lastMessageTimeText: String, + val lastMessageAt: String, val showDirectBadge: Boolean ) diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/chat/ChatRoomMapperTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/chat/ChatRoomMapperTest.kt index 960bb65f..e3014eac 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/main/chat/ChatRoomMapperTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/main/chat/ChatRoomMapperTest.kt @@ -1,11 +1,8 @@ package kr.co.vividnext.sodalive.v2.main.chat import android.app.Application -import android.content.Context -import androidx.test.core.app.ApplicationProvider import kr.co.vividnext.sodalive.v2.main.chat.data.ChatRoomListItemResponse import kr.co.vividnext.sodalive.v2.main.chat.model.ChatRoomType -import kr.co.vividnext.sodalive.v2.main.chat.model.formatChatRoomLastMessageTime import kr.co.vividnext.sodalive.v2.main.chat.model.toUiItem import kr.co.vividnext.sodalive.v2.main.chat.model.toUiItems import org.junit.Assert.assertEquals @@ -21,11 +18,9 @@ import org.robolectric.annotation.Config @Config(sdk = [28], application = Application::class) class ChatRoomMapperTest { - private val context: Context = ApplicationProvider.getApplicationContext() - @Test fun `AI 채팅방은 Direct badge 미표시 item으로 매핑된다`() { - val item = response(chatType = "AI").toUiItem(context) + val item = response(chatType = "AI").toUiItem() requireNotNull(item) assertEquals(ChatRoomType.AI, item.chatType) @@ -34,7 +29,7 @@ class ChatRoomMapperTest { @Test fun `DM 채팅방은 Direct badge 표시 item으로 매핑된다`() { - val item = response(chatType = "DM").toUiItem(context) + val item = response(chatType = "DM").toUiItem() requireNotNull(item) assertEquals(ChatRoomType.DM, item.chatType) @@ -42,27 +37,27 @@ class ChatRoomMapperTest { } @Test - fun `응답 필드는 그대로 전달하고 시간은 표시 문구로 매핑한다`() { + fun `응답 필드는 그대로 전달하고 시간은 원본 문자열로 매핑한다`() { val item = response( roomId = 20L, targetName = "상대방", targetImageUrl = "https://example.com/profile.png", lastMessage = "마지막 메시지", lastMessageAt = "2026-06-09T11:57:00Z" - ).toUiItem(context) + ).toUiItem() requireNotNull(item) assertEquals(20L, item.roomId) assertEquals("상대방", item.targetName) assertEquals("https://example.com/profile.png", item.targetImageUrl) assertEquals("마지막 메시지", item.lastMessage) - assertEquals(formatChatRoomLastMessageTime(context, "2026-06-09T11:57:00Z"), item.lastMessageTimeText) + assertEquals("2026-06-09T11:57:00Z", item.lastMessageAt) } @Test fun `알 수 없는 chatType은 표시 대상에서 제외한다`() { - assertNull(response(chatType = "GROUP").toUiItem(context)) - assertEquals(emptyList(), listOf(response(chatType = "GROUP")).toUiItems(context)) + assertNull(response(chatType = "GROUP").toUiItem()) + assertEquals(emptyList(), listOf(response(chatType = "GROUP")).toUiItems()) } private fun response(