mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 06:55:41 +00:00
Improve test.
This commit is contained in:
+8
-3
@@ -20,6 +20,8 @@ import io.element.android.libraries.permissions.api.PermissionsEvents
|
|||||||
import io.element.android.libraries.permissions.impl.action.FakePermissionActions
|
import io.element.android.libraries.permissions.impl.action.FakePermissionActions
|
||||||
import io.element.android.libraries.permissions.test.InMemoryPermissionsStore
|
import io.element.android.libraries.permissions.test.InMemoryPermissionsStore
|
||||||
import io.element.android.tests.testutils.WarmUpRule
|
import io.element.android.tests.testutils.WarmUpRule
|
||||||
|
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
||||||
|
import io.element.android.tests.testutils.lambda.value
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.junit.Rule
|
import org.junit.Rule
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
@@ -107,7 +109,10 @@ class DefaultPermissionsPresenterTest {
|
|||||||
FakeComposablePermissionStateProvider(
|
FakeComposablePermissionStateProvider(
|
||||||
permissionState
|
permissionState
|
||||||
)
|
)
|
||||||
val permissionActions = FakePermissionActions()
|
val openSettingsAction = lambdaRecorder<String, Unit> { }
|
||||||
|
val permissionActions = FakePermissionActions(
|
||||||
|
openSettingsAction = openSettingsAction,
|
||||||
|
)
|
||||||
val presenter = DefaultPermissionsPresenter(
|
val presenter = DefaultPermissionsPresenter(
|
||||||
A_PERMISSION,
|
A_PERMISSION,
|
||||||
permissionsStore,
|
permissionsStore,
|
||||||
@@ -122,10 +127,10 @@ class DefaultPermissionsPresenterTest {
|
|||||||
initialState.eventSink.invoke(PermissionsEvents.RequestPermissions)
|
initialState.eventSink.invoke(PermissionsEvents.RequestPermissions)
|
||||||
val withDialogState = awaitItem()
|
val withDialogState = awaitItem()
|
||||||
assertThat(withDialogState.showDialog).isTrue()
|
assertThat(withDialogState.showDialog).isTrue()
|
||||||
assertThat(permissionActions.openSettingsCalled).isFalse()
|
openSettingsAction.assertions().isNeverCalled()
|
||||||
withDialogState.eventSink.invoke(PermissionsEvents.OpenSystemSettingAndCloseDialog)
|
withDialogState.eventSink.invoke(PermissionsEvents.OpenSystemSettingAndCloseDialog)
|
||||||
assertThat(awaitItem().showDialog).isFalse()
|
assertThat(awaitItem().showDialog).isFalse()
|
||||||
assertThat(permissionActions.openSettingsCalled).isTrue()
|
openSettingsAction.assertions().isCalledOnce().with(value(A_PERMISSION))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-6
@@ -8,14 +8,12 @@
|
|||||||
|
|
||||||
package io.element.android.libraries.permissions.impl.action
|
package io.element.android.libraries.permissions.impl.action
|
||||||
|
|
||||||
class FakePermissionActions(
|
import io.element.android.tests.testutils.lambda.lambdaError
|
||||||
val openSettingsAction: (String) -> Unit = {}
|
|
||||||
) : PermissionActions {
|
|
||||||
var openSettingsCalled = false
|
|
||||||
private set
|
|
||||||
|
|
||||||
|
class FakePermissionActions(
|
||||||
|
val openSettingsAction: (String) -> Unit = { lambdaError() }
|
||||||
|
) : PermissionActions {
|
||||||
override fun openSettings(permission: String) {
|
override fun openSettings(permission: String) {
|
||||||
openSettingsAction(permission)
|
openSettingsAction(permission)
|
||||||
openSettingsCalled = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user