android: add mapper fallback test and checklist updates
Some checks failed
CI / test (push) Failing after 2m9s
Some checks failed
CI / test (push) Failing after 2m9s
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
package ru.daemonlord.messenger.data.message.mapper
|
||||
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
import ru.daemonlord.messenger.data.message.local.entity.MessageEntity
|
||||
import ru.daemonlord.messenger.data.message.local.model.MessageLocalModel
|
||||
|
||||
class MessageMappersTest {
|
||||
|
||||
@Test
|
||||
fun toDomain_usesReplyRelationFallbackWhenPreviewFieldsMissing() {
|
||||
val replyMessage = messageEntity(
|
||||
id = 10,
|
||||
senderId = 44,
|
||||
senderDisplayName = "Alice",
|
||||
text = "Original message",
|
||||
)
|
||||
val sourceMessage = messageEntity(
|
||||
id = 11,
|
||||
senderId = 55,
|
||||
senderDisplayName = "Bob",
|
||||
text = "Reply body",
|
||||
replyToMessageId = 10,
|
||||
replyPreviewText = null,
|
||||
replyPreviewSenderName = null,
|
||||
)
|
||||
val localModel = MessageLocalModel(
|
||||
message = sourceMessage,
|
||||
attachments = emptyList(),
|
||||
replyToMessage = replyMessage,
|
||||
)
|
||||
|
||||
val domain = localModel.toDomain(currentUserId = 55)
|
||||
|
||||
assertEquals("Alice", domain.replyPreviewSenderName)
|
||||
assertEquals("Original message", domain.replyPreviewText)
|
||||
assertTrue(domain.isOutgoing)
|
||||
}
|
||||
|
||||
private fun messageEntity(
|
||||
id: Long,
|
||||
senderId: Long,
|
||||
senderDisplayName: String?,
|
||||
text: String?,
|
||||
replyToMessageId: Long? = null,
|
||||
replyPreviewText: String? = null,
|
||||
replyPreviewSenderName: String? = null,
|
||||
): MessageEntity {
|
||||
return MessageEntity(
|
||||
id = id,
|
||||
chatId = 1,
|
||||
senderId = senderId,
|
||||
senderDisplayName = senderDisplayName,
|
||||
senderUsername = null,
|
||||
senderAvatarUrl = null,
|
||||
replyToMessageId = replyToMessageId,
|
||||
replyPreviewText = replyPreviewText,
|
||||
replyPreviewSenderName = replyPreviewSenderName,
|
||||
forwardedFromMessageId = null,
|
||||
forwardedFromDisplayName = null,
|
||||
type = "text",
|
||||
text = text,
|
||||
status = "sent",
|
||||
attachmentWaveformJson = null,
|
||||
createdAt = "2026-03-09T10:00:00Z",
|
||||
updatedAt = null,
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user