Browse Source

Fix test issue.

pull/3035/head
Benoit Marty 3 months ago
parent
commit
0908e9b9e4
  1. 24
      appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt

24
appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt

@ -45,6 +45,7 @@ import io.element.android.services.analytics.test.FakeAnalyticsService @@ -45,6 +45,7 @@ import io.element.android.services.analytics.test.FakeAnalyticsService
import io.element.android.tests.testutils.WarmUpRule
import io.element.android.tests.testutils.consumeItemsUntilPredicate
import io.element.android.tests.testutils.lambda.any
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 kotlinx.coroutines.test.runTest
@ -368,16 +369,19 @@ class LoggedInPresenterTest { @@ -368,16 +369,19 @@ class LoggedInPresenterTest {
val lambda = lambdaRecorder<MatrixClient, PushProvider, Distributor, Result<Unit>> { _, _, _ ->
Result.success(Unit)
}
val selectPushProviderLambda = lambdaRecorder<MatrixClient, PushProvider, Unit> { _, _ -> }
val sessionVerificationService = FakeSessionVerificationService()
sessionVerificationService.givenVerifiedStatus(SessionVerifiedStatus.Verified)
val pushProvider = FakePushProvider(
index = 1,
name = "aFakePushProvider1",
distributors = emptyList(),
)
val pushService = createFakePushService(
pushProvider0 = FakePushProvider(
index = 1,
name = "aFakePushProvider1",
distributors = emptyList(),
),
pushProvider0 = pushProvider,
pushProvider1 = null,
registerWithLambda = lambda,
selectPushProviderLambda = selectPushProviderLambda,
)
val presenter = createLoggedInPresenter(
pushService = pushService,
@ -392,6 +396,14 @@ class LoggedInPresenterTest { @@ -392,6 +396,14 @@ class LoggedInPresenterTest {
.isInstanceOf(PusherRegistrationFailure.NoDistributorsAvailable::class.java)
lambda.assertions()
.isNeverCalled()
selectPushProviderLambda.assertions()
.isCalledOnce()
.with(
// MatrixClient
any(),
// PushProvider
value(pushProvider),
)
// Reset the error
finalState.eventSink(LoggedInEvents.CloseErrorDialog(doNotShowAgain = false))
val lastState = awaitItem()
@ -415,12 +427,14 @@ class LoggedInPresenterTest { @@ -415,12 +427,14 @@ class LoggedInPresenterTest {
registerWithLambda: suspend (MatrixClient, PushProvider, Distributor) -> Result<Unit> = { _, _, _ ->
Result.success(Unit)
},
selectPushProviderLambda: (MatrixClient, PushProvider) -> Unit = { _, _ -> lambdaError() },
currentPushProvider: () -> PushProvider? = { null },
): PushService {
return FakePushService(
availablePushProviders = listOfNotNull(pushProvider0, pushProvider1),
registerWithLambda = registerWithLambda,
currentPushProvider = currentPushProvider,
selectPushProviderLambda = selectPushProviderLambda,
)
}

Loading…
Cancel
Save