Skip to content

Commit ecda885

Browse files
committed
Tests
1 parent a9d08fa commit ecda885

File tree

14 files changed

+105
-16
lines changed

14 files changed

+105
-16
lines changed

stream-chat-android-client/src/test/java/io/getstream/chat/android/client/api2/mapping/DomainMappingTest.kt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ import io.getstream.chat.android.models.UserId
106106
import io.getstream.chat.android.models.UserTransformer
107107
import io.getstream.chat.android.models.Vote
108108
import io.getstream.chat.android.models.VotingVisibility
109+
import io.getstream.chat.android.randomBoolean
109110
import io.getstream.chat.android.randomChannel
110111
import io.getstream.chat.android.randomDate
111112
import io.getstream.chat.android.randomMessage
@@ -137,6 +138,29 @@ internal class DomainMappingTest {
137138
result `should be equal to` transformedMessage
138139
}
139140

141+
@Test
142+
fun `Message should be transformed with optionals properties after it is mapped`() {
143+
val transformedMessage = randomMessage()
144+
val messageTransformer = MessageTransformer { transformedMessage }
145+
146+
val sut = Fixture()
147+
.withMessageTransformer(messageTransformer)
148+
.get()
149+
150+
val result = with(sut) {
151+
randomDownstreamMessageDto(
152+
pinned_by = randomDownstreamUserDto(),
153+
quoted_message = randomDownstreamMessageDto(),
154+
moderation_details = randomDownstreamModerationDetailsDto(),
155+
moderation = randomDownstreamModerationDto(),
156+
poll = randomDownstreamPollDto(),
157+
deleted_for_me = randomBoolean(),
158+
).toDomain()
159+
}
160+
161+
result `should be equal to` transformedMessage
162+
}
163+
140164
@Test
141165
fun `DownstreamDraftDto is correctly mapped to DraftMessage`() {
142166
val draftMessageResponse = randomDownstreamDraftDto()

stream-chat-android-client/src/test/java/io/getstream/chat/android/client/extensions/internal/ChannelExtensionsTests.kt

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,14 @@ internal class ChannelExtensionsTests {
6262
@Test
6363
fun `lastMessage should return the most recent non-deleted message`() {
6464
// given
65-
val oldestMsg = randomMessage(createdAt = Date(1000), deletedAt = null)
66-
val newestMsg = randomMessage(createdAt = Date(3000), deletedAt = null)
67-
val middleMsg = randomMessage(createdAt = null, createdLocallyAt = Date(2000), deletedAt = null)
65+
val oldestMsg = randomMessage(createdAt = Date(1000), deletedAt = null, deletedForMe = false)
66+
val newestMsg = randomMessage(createdAt = Date(3000), deletedAt = null, deletedForMe = false)
67+
val middleMsg = randomMessage(
68+
createdAt = null,
69+
createdLocallyAt = Date(2000),
70+
deletedAt = null,
71+
deletedForMe = false,
72+
)
6873
val deletedMsg = randomMessage(createdAt = Date(4000), deletedAt = Date(5000))
6974

7075
val channel = randomChannel(
@@ -96,8 +101,19 @@ internal class ChannelExtensionsTests {
96101
unreadMessages = 0,
97102
lastReadMessageId = null,
98103
)
99-
val existingMessage = randomMessage(id = "existing", createdAt = Date(1000), deletedAt = null)
100-
val newMessage = randomMessage(id = "new", createdAt = Date(2000), deletedAt = null, silent = false)
104+
val existingMessage = randomMessage(
105+
id = "existing",
106+
createdAt = Date(1000),
107+
deletedAt = null,
108+
deletedForMe = false,
109+
)
110+
val newMessage = randomMessage(
111+
id = "new",
112+
createdAt = Date(2000),
113+
deletedAt = null,
114+
deletedForMe = false,
115+
silent = false,
116+
)
101117
val receivedEventDate = Date(2500)
102118

103119
val channel = randomChannel(
@@ -141,8 +157,19 @@ internal class ChannelExtensionsTests {
141157
unreadMessages = 0,
142158
lastReadMessageId = null,
143159
)
144-
val existingMessage = randomMessage(id = "existing", createdAt = Date(1000), deletedAt = null)
145-
val newMessage = randomMessage(id = "new", createdAt = Date(2000), deletedAt = null, silent = true)
160+
val existingMessage = randomMessage(
161+
id = "existing",
162+
createdAt = Date(1000),
163+
deletedAt = null,
164+
deletedForMe = false,
165+
)
166+
val newMessage = randomMessage(
167+
id = "new",
168+
createdAt = Date(2000),
169+
deletedAt = null,
170+
deletedForMe = false,
171+
silent = true,
172+
)
146173
val receivedEventDate = Date(2500)
147174

148175
val channel = randomChannel(

stream-chat-android-client/src/test/java/io/getstream/chat/android/client/utils/message/MessageUtilsTest.kt

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,15 +166,21 @@ internal class MessageUtilsTest {
166166
message.isDeleted() shouldBeEqualTo true
167167
}
168168

169+
@Test
170+
fun `isDeleted should return true for deleted message for me`() {
171+
val message = randomMessage(deletedAt = null, deletedForMe = true)
172+
message.isDeleted() shouldBeEqualTo true
173+
}
174+
169175
@Test
170176
fun `isDeleted should return false for non-deleted message`() {
171-
val message = randomMessage(deletedAt = null)
177+
val message = randomMessage(deletedAt = null, deletedForMe = false)
172178
message.isDeleted() shouldBeEqualTo false
173179
}
174180

175181
@Test
176182
fun `isPinnedAndNotDeleted should return true for pinned and not deleted message`() {
177-
val message = randomMessage(pinned = true, deletedAt = null)
183+
val message = randomMessage(pinned = true, deletedAt = null, deletedForMe = false)
178184
message.isPinnedAndNotDeleted() shouldBeEqualTo true
179185
}
180186

@@ -192,8 +198,12 @@ internal class MessageUtilsTest {
192198

193199
@Test
194200
fun `isPinned should return true for valid pinned message`() {
195-
val message =
196-
randomMessage(pinned = true, deletedAt = null, pinExpires = Date(System.currentTimeMillis() + 1000))
201+
val message = randomMessage(
202+
pinned = true,
203+
deletedAt = null,
204+
deletedForMe = false,
205+
pinExpires = Date(System.currentTimeMillis() + 1000),
206+
)
197207
message.isPinned() shouldBeEqualTo true
198208
}
199209

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -744,7 +744,7 @@ public fun MessageModerationDialog(
744744
{
745745
message, action ->
746746
when (action) {
747-
DeleteMessage -> listViewModel.deleteMessage(message = message, hard = true)
747+
DeleteMessage -> listViewModel.deleteMessage(message = message, true)
748748
EditMessage -> composerViewModel.performMessageAction(Edit(message))
749749
SendAnyway -> listViewModel.performMessageAction(
750750
Resend(

stream-chat-android-core/src/testFixtures/kotlin/io/getstream/chat/android/Mother.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,7 @@ public fun randomMessage(
336336
i18n: Map<String, String> = emptyMap(),
337337
reminder: MessageReminderInfo? = randomMessageReminderInfo(),
338338
channelRole: String? = null,
339+
deletedForMe: Boolean = randomBoolean(),
339340
): Message = Message(
340341
id = id,
341342
cid = cid,
@@ -382,6 +383,7 @@ public fun randomMessage(
382383
i18n = i18n,
383384
reminder = reminder,
384385
channelRole = channelRole,
386+
deletedForMe = deletedForMe,
385387
)
386388

387389
public fun randomPendingMessage(

stream-chat-android-offline/src/test/java/io/getstream/chat/android/offline/Mother.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ internal fun randomMessageEntity(
118118
reminder: ReminderInfoEntity = randomReminderInfoEntity(),
119119
sharedLocation: LocationEntity? = randomLocationEntity(),
120120
channelRole: String? = null,
121+
deletedForMe: Boolean = randomBoolean(),
121122
) = MessageEntity(
122123
messageInnerEntity = MessageInnerEntity(
123124
id = id,
@@ -151,6 +152,7 @@ internal fun randomMessageEntity(
151152
reminder = reminder,
152153
sharedLocation = sharedLocation,
153154
channelRole = channelRole,
155+
deletedForMe = deletedForMe,
154156
),
155157
attachments = attachments,
156158
latestReactions = latestReactions,

stream-chat-android-offline/src/test/java/io/getstream/chat/android/offline/repository/domain/message/internal/MessageMapperTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ internal class MessageMapperTest {
106106
)
107107
},
108108
channelRole = messageEntity.messageInnerEntity.channelRole,
109+
deletedForMe = messageEntity.messageInnerEntity.deletedForMe,
109110
)
110111

111112
val result = messageEntity.toModel(
@@ -177,6 +178,7 @@ internal class MessageMapperTest {
177178
)
178179
},
179180
channelRole = message.channelRole,
181+
deletedForMe = message.deletedForMe,
180182
),
181183
attachments = message.attachments.mapIndexed { index, attachment ->
182184
attachment.toEntity(

stream-chat-android-offline/src/test/java/io/getstream/chat/android/offline/repository/facade/RepositoryFacadeIntegrationTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ internal class RepositoryFacadeIntegrationTests : BaseRepositoryFacadeIntegratio
3939
fun `Given a message in the database When persisting the updated message Should store the update`(): Unit =
4040
runTest {
4141
val id = randomString()
42-
val originalMessage = randomMessage(id = id, deletedAt = null)
42+
val originalMessage = randomMessage(id = id, deletedAt = null, deletedForMe = false)
4343
val updatedText = randomString()
4444
val updatedMessage = originalMessage.copy(text = updatedText)
4545

stream-chat-android-offline/src/test/java/io/getstream/chat/android/offline/repository/integration/MessageRepositoryTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ internal class MessageRepositoryTest : BaseDomainTest2() {
4141
val message = randomMessage(
4242
attachments = mutableListOf(attachment1, attachment2, attachment3),
4343
deletedAt = null,
44+
deletedForMe = false,
4445
)
4546
repos.insertMessage(message)
4647

stream-chat-android-state/src/test/java/io/getstream/chat/android/state/plugin/state/channel/internal/ChannelMutableStateTests.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ internal class ChannelMutableStateTests {
7070
createdAt = Date(now),
7171
updatedAt = null,
7272
deletedAt = null,
73+
deletedForMe = false,
7374
pinned = true,
7475
pinnedAt = Date(now),
7576
pinExpires = Date(now + 1.minutes.inWholeMilliseconds),

0 commit comments

Comments
 (0)