Skip to content

Commit ae93917

Browse files
author
Marco Romano
committed
Test analytics when sending messages
Covers changes in #1288
1 parent 8ab391f commit ae93917

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

features/messages/impl/src/test/kotlin/io/element/android/features/messages/textcomposer/MessageComposerPresenterTest.kt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import app.cash.molecule.moleculeFlow
2424
import app.cash.turbine.ReceiveTurbine
2525
import app.cash.turbine.test
2626
import com.google.common.truth.Truth.assertThat
27+
import im.vector.app.features.analytics.plan.Composer
2728
import io.element.android.features.messages.impl.messagecomposer.AttachmentsState
2829
import io.element.android.features.messages.impl.messagecomposer.MessageComposerContextImpl
2930
import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents
@@ -57,6 +58,7 @@ import io.element.android.libraries.textcomposer.Message
5758
import io.element.android.libraries.textcomposer.MessageComposerMode
5859
import io.element.android.services.analytics.test.FakeAnalyticsService
5960
import io.element.android.tests.testutils.WarmUpRule
61+
import io.element.android.tests.testutils.waitForPredicate
6062
import io.mockk.mockk
6163
import kotlinx.coroutines.CoroutineScope
6264
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -208,6 +210,15 @@ class MessageComposerPresenterTest {
208210
val messageSentState = awaitItem()
209211
assertThat(messageSentState.richTextEditorState.messageHtml).isEqualTo("")
210212
assertThat(messageSentState.canSendMessage).isFalse()
213+
waitForPredicate { analyticsService.capturedEvents.size == 1 }
214+
assertThat(analyticsService.capturedEvents).containsExactly(
215+
Composer(
216+
inThread = false,
217+
isEditing = false,
218+
isReply = false,
219+
messageType = Composer.MessageType.Text,
220+
)
221+
)
211222
}
212223
}
213224

@@ -240,6 +251,14 @@ class MessageComposerPresenterTest {
240251
assertThat(messageSentState.richTextEditorState.messageHtml).isEqualTo("")
241252
assertThat(messageSentState.canSendMessage).isFalse()
242253
assertThat(fakeMatrixRoom.editMessageCalls.first()).isEqualTo(ANOTHER_MESSAGE to ANOTHER_MESSAGE)
254+
assertThat(analyticsService.capturedEvents).containsExactly(
255+
Composer(
256+
inThread = false,
257+
isEditing = true,
258+
isReply = false,
259+
messageType = Composer.MessageType.Text,
260+
)
261+
)
243262
}
244263
}
245264

@@ -272,6 +291,14 @@ class MessageComposerPresenterTest {
272291
assertThat(messageSentState.richTextEditorState.messageHtml).isEqualTo("")
273292
assertThat(messageSentState.canSendMessage).isFalse()
274293
assertThat(fakeMatrixRoom.editMessageCalls.first()).isEqualTo(ANOTHER_MESSAGE to ANOTHER_MESSAGE)
294+
assertThat(analyticsService.capturedEvents).containsExactly(
295+
Composer(
296+
inThread = false,
297+
isEditing = true,
298+
isReply = false,
299+
messageType = Composer.MessageType.Text,
300+
)
301+
)
275302
}
276303
}
277304

@@ -304,6 +331,14 @@ class MessageComposerPresenterTest {
304331
assertThat(messageSentState.richTextEditorState.messageHtml).isEqualTo("")
305332
assertThat(messageSentState.canSendMessage).isFalse()
306333
assertThat(fakeMatrixRoom.replyMessageParameter).isEqualTo(A_REPLY to A_REPLY)
334+
assertThat(analyticsService.capturedEvents).containsExactly(
335+
Composer(
336+
inThread = false,
337+
isEditing = false,
338+
isReply = true,
339+
messageType = Composer.MessageType.Text,
340+
)
341+
)
307342
}
308343
}
309344

0 commit comments

Comments
 (0)