Fix flaky incoming verification tests (#4479)

This commit is contained in:
Jorge Martin Espinosa 2025-03-26 16:03:30 +01:00 committed by GitHub
parent 9a9a204b5f
commit 3eebb4c19f
2 changed files with 7 additions and 3 deletions

View file

@ -30,7 +30,6 @@ import io.element.android.libraries.matrix.api.verification.SessionVerificationS
import io.element.android.libraries.matrix.api.verification.VerificationFlowState import io.element.android.libraries.matrix.api.verification.VerificationFlowState
import io.element.android.libraries.matrix.api.verification.VerificationRequest import io.element.android.libraries.matrix.api.verification.VerificationRequest
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
@ -57,7 +56,7 @@ class IncomingVerificationPresenter @AssistedInject constructor(
@Composable @Composable
override fun present(): IncomingVerificationState { override fun present(): IncomingVerificationState {
val coroutineScope = rememberCoroutineScope { Dispatchers.IO } val coroutineScope = rememberCoroutineScope()
val stateAndDispatch = stateMachine.rememberStateAndDispatch() val stateAndDispatch = stateMachine.rememberStateAndDispatch()

View file

@ -131,6 +131,9 @@ class IncomingVerificationPresenterTest {
isWaiting = false, isWaiting = false,
) )
) )
advanceTimeBy(1.seconds)
resetLambda.assertions().isCalledOnce().with(value(false)) resetLambda.assertions().isCalledOnce().with(value(false))
acknowledgeVerificationRequestLambda.assertions().isCalledOnce().with(value(anIncomingSessionVerificationRequest)) acknowledgeVerificationRequestLambda.assertions().isCalledOnce().with(value(anIncomingSessionVerificationRequest))
acceptVerificationRequestLambda.assertions().isNeverCalled() acceptVerificationRequestLambda.assertions().isNeverCalled()
@ -139,7 +142,9 @@ class IncomingVerificationPresenterTest {
skipItems(1) skipItems(1)
val initialWaitingState = awaitItem() val initialWaitingState = awaitItem()
assertThat((initialWaitingState.step as IncomingVerificationState.Step.Initial).isWaiting).isTrue() assertThat((initialWaitingState.step as IncomingVerificationState.Step.Initial).isWaiting).isTrue()
advanceUntilIdle()
advanceTimeBy(1.seconds)
acceptVerificationRequestLambda.assertions().isCalledOnce() acceptVerificationRequestLambda.assertions().isCalledOnce()
// Remote sent the data // Remote sent the data
fakeSessionVerificationService.emitVerificationFlowState(VerificationFlowState.DidAcceptVerificationRequest) fakeSessionVerificationService.emitVerificationFlowState(VerificationFlowState.DidAcceptVerificationRequest)