From 3a2baed2dfb1051a81f6ed9bfea8d0f5a75abd45 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 7 Nov 2024 13:36:36 +0100 Subject: [PATCH] Use `test` extension --- .../VerifySelfSessionPresenterTest.kt | 76 +++++-------------- 1 file changed, 19 insertions(+), 57 deletions(-) diff --git a/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionPresenterTest.kt b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionPresenterTest.kt index a7c47182f8..806a1dbdf1 100644 --- a/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionPresenterTest.kt +++ b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionPresenterTest.kt @@ -7,10 +7,7 @@ package io.element.android.features.verifysession.impl.outgoing -import app.cash.molecule.RecompositionMode -import app.cash.molecule.moleculeFlow import app.cash.turbine.ReceiveTurbine -import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.features.logout.api.LogoutUseCase import io.element.android.features.logout.test.FakeLogoutUseCase @@ -33,6 +30,7 @@ import io.element.android.tests.testutils.WarmUpRule import io.element.android.tests.testutils.lambda.lambdaError import io.element.android.tests.testutils.lambda.lambdaRecorder import io.element.android.tests.testutils.lambda.value +import io.element.android.tests.testutils.test import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runTest import org.junit.Rule @@ -48,9 +46,7 @@ class VerifySelfSessionPresenterTest { val presenter = createVerifySelfSessionPresenter( service = unverifiedSessionService(), ) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { awaitItem().run { assertThat(step).isEqualTo(Step.Initial(false)) assertThat(displaySkipButton).isTrue() @@ -65,9 +61,7 @@ class VerifySelfSessionPresenterTest { service = unverifiedSessionService(), buildMeta = buildMeta, ) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { assertThat(awaitItem().displaySkipButton).isFalse() } } @@ -83,9 +77,7 @@ class VerifySelfSessionPresenterTest { emitRecoveryState(RecoveryState.INCOMPLETE) } ) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { assertThat(awaitItem().step).isEqualTo(Step.Initial(true)) resetLambda.assertions().isCalledOnce().with(value(true)) } @@ -100,9 +92,7 @@ class VerifySelfSessionPresenterTest { emitRecoveryState(RecoveryState.INCOMPLETE) } ) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { assertThat(awaitItem().step).isEqualTo(Step.Initial(canEnterRecoveryKey = true, isLastDevice = true)) } } @@ -114,9 +104,7 @@ class VerifySelfSessionPresenterTest { startVerificationLambda = { }, ) val presenter = createVerifySelfSessionPresenter(service) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { requestVerificationAndAwaitVerifyingState(service) } } @@ -126,9 +114,7 @@ class VerifySelfSessionPresenterTest { val presenter = createVerifySelfSessionPresenter( service = unverifiedSessionService(), ) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { val initialState = awaitItem() assertThat(initialState.step).isEqualTo(Step.Initial(false)) val eventSink = initialState.eventSink @@ -145,9 +131,7 @@ class VerifySelfSessionPresenterTest { approveVerificationLambda = { }, ) val presenter = createVerifySelfSessionPresenter(service) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { val state = requestVerificationAndAwaitVerifyingState(service) state.eventSink(VerifySelfSessionViewEvents.ConfirmVerification) // Cancelling @@ -164,9 +148,7 @@ class VerifySelfSessionPresenterTest { requestVerificationLambda = { }, ) val presenter = createVerifySelfSessionPresenter(service) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { awaitItem().eventSink(VerifySelfSessionViewEvents.UseAnotherDevice) awaitItem().eventSink(VerifySelfSessionViewEvents.RequestVerification) service.emitVerificationFlowState(VerificationFlowState.DidFail) @@ -183,9 +165,7 @@ class VerifySelfSessionPresenterTest { cancelVerificationLambda = { }, ) val presenter = createVerifySelfSessionPresenter(service) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { val state = requestVerificationAndAwaitVerifyingState(service) state.eventSink(VerifySelfSessionViewEvents.Cancel) assertThat(awaitItem().step).isEqualTo(Step.Canceled) @@ -199,9 +179,7 @@ class VerifySelfSessionPresenterTest { startVerificationLambda = { }, ) val presenter = createVerifySelfSessionPresenter(service) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { requestVerificationAndAwaitVerifyingState(service) service.emitVerificationFlowState(VerificationFlowState.DidReceiveVerificationData(SessionVerificationData.Emojis(emptyList()))) ensureAllEventsConsumed() @@ -215,9 +193,7 @@ class VerifySelfSessionPresenterTest { startVerificationLambda = { }, ) val presenter = createVerifySelfSessionPresenter(service) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { val state = requestVerificationAndAwaitVerifyingState(service) service.emitVerificationFlowState(VerificationFlowState.DidCancel) assertThat(awaitItem().step).isEqualTo(Step.Canceled) @@ -235,9 +211,7 @@ class VerifySelfSessionPresenterTest { startVerificationLambda = { }, ) val presenter = createVerifySelfSessionPresenter(service) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { val state = requestVerificationAndAwaitVerifyingState(service) service.emitVerificationFlowState(VerificationFlowState.DidCancel) assertThat(awaitItem().step).isEqualTo(Step.Canceled) @@ -259,9 +233,7 @@ class VerifySelfSessionPresenterTest { approveVerificationLambda = { }, ) val presenter = createVerifySelfSessionPresenter(service) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { val state = requestVerificationAndAwaitVerifyingState( service, SessionVerificationData.Emojis(emojis) @@ -286,9 +258,7 @@ class VerifySelfSessionPresenterTest { declineVerificationLambda = { }, ) val presenter = createVerifySelfSessionPresenter(service) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { val state = requestVerificationAndAwaitVerifyingState(service) state.eventSink(VerifySelfSessionViewEvents.DeclineVerification) assertThat(awaitItem().step).isEqualTo( @@ -309,9 +279,7 @@ class VerifySelfSessionPresenterTest { startVerificationLambda = { }, ) val presenter = createVerifySelfSessionPresenter(service) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { val state = requestVerificationAndAwaitVerifyingState(service) state.eventSink(VerifySelfSessionViewEvents.SkipVerification) assertThat(awaitItem().step).isEqualTo(Step.Skipped) @@ -331,9 +299,7 @@ class VerifySelfSessionPresenterTest { service = service, showDeviceVerifiedScreen = true, ) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { assertThat(awaitItem().step).isEqualTo(Step.Completed) } } @@ -351,9 +317,7 @@ class VerifySelfSessionPresenterTest { service = service, showDeviceVerifiedScreen = false, ) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { skipItems(1) assertThat(awaitItem().step).isEqualTo(Step.Skipped) } @@ -373,9 +337,7 @@ class VerifySelfSessionPresenterTest { service, logoutUseCase = FakeLogoutUseCase(signOutLambda) ) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { + presenter.test { skipItems(1) val initialItem = awaitItem() initialItem.eventSink(VerifySelfSessionViewEvents.SignOut)