Add test on TimelineEvents.ShowShieldDialog and TimelineEvents.HideShieldDialog
This commit is contained in:
parent
970d11ffd1
commit
750ecbee82
2 changed files with 22 additions and 1 deletions
|
|
@ -75,4 +75,4 @@ internal fun TimelineItemEventRowShieldPreview() = ElementPreview {
|
||||||
|
|
||||||
private fun aWarningShield() = MessageShield.AuthenticityNotGuaranteed(isCritical = false)
|
private fun aWarningShield() = MessageShield.AuthenticityNotGuaranteed(isCritical = false)
|
||||||
|
|
||||||
private fun aCriticalShield() = MessageShield.UnverifiedIdentity(isCritical = true)
|
internal fun aCriticalShield() = MessageShield.UnverifiedIdentity(isCritical = true)
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ import com.google.common.truth.Truth.assertThat
|
||||||
import io.element.android.features.messages.impl.FakeMessagesNavigator
|
import io.element.android.features.messages.impl.FakeMessagesNavigator
|
||||||
import io.element.android.features.messages.impl.fixtures.aMessageEvent
|
import io.element.android.features.messages.impl.fixtures.aMessageEvent
|
||||||
import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactory
|
import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactory
|
||||||
|
import io.element.android.features.messages.impl.timeline.components.aCriticalShield
|
||||||
import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory
|
import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory
|
||||||
import io.element.android.features.messages.impl.timeline.model.NewEventState
|
import io.element.android.features.messages.impl.timeline.model.NewEventState
|
||||||
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
||||||
|
|
@ -591,6 +592,26 @@ private const val FAKE_UNIQUE_ID_2 = "FAKE_UNIQUE_ID_2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `present - show shield hide shield`() = runTest {
|
||||||
|
val presenter = createTimelinePresenter()
|
||||||
|
val shield = aCriticalShield()
|
||||||
|
moleculeFlow(RecompositionMode.Immediate) {
|
||||||
|
presenter.present()
|
||||||
|
}.test {
|
||||||
|
val initialState = awaitFirstItem()
|
||||||
|
assertThat(initialState.messageShield).isNull()
|
||||||
|
initialState.eventSink(TimelineEvents.ShowShieldDialog(shield))
|
||||||
|
awaitItem().also { state ->
|
||||||
|
assertThat(state.messageShield).isEqualTo(shield)
|
||||||
|
state.eventSink(TimelineEvents.HideShieldDialog)
|
||||||
|
}
|
||||||
|
awaitItem().also { state ->
|
||||||
|
assertThat(state.messageShield).isNull()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `present - when room member info is loaded, read receipts info should be updated`() = runTest {
|
fun `present - when room member info is loaded, read receipts info should be updated`() = runTest {
|
||||||
val timeline = FakeTimeline(
|
val timeline = FakeTimeline(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue