Add missing tests.
This commit is contained in:
parent
ac838238c4
commit
5e1099da41
1 changed files with 32 additions and 0 deletions
|
|
@ -11,6 +11,7 @@ import app.cash.molecule.RecompositionMode
|
||||||
import app.cash.molecule.moleculeFlow
|
import app.cash.molecule.moleculeFlow
|
||||||
import app.cash.turbine.test
|
import app.cash.turbine.test
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
|
import io.element.android.libraries.architecture.AsyncAction
|
||||||
import io.element.android.libraries.architecture.AsyncData
|
import io.element.android.libraries.architecture.AsyncData
|
||||||
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher
|
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher
|
||||||
import io.element.android.libraries.matrix.api.encryption.BackupState
|
import io.element.android.libraries.matrix.api.encryption.BackupState
|
||||||
|
|
@ -38,6 +39,8 @@ class SecureBackupRootPresenterTest {
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.backupState).isEqualTo(BackupState.UNKNOWN)
|
assertThat(initialState.backupState).isEqualTo(BackupState.UNKNOWN)
|
||||||
assertThat(initialState.doesBackupExistOnServer.dataOrNull()).isTrue()
|
assertThat(initialState.doesBackupExistOnServer.dataOrNull()).isTrue()
|
||||||
|
assertThat(initialState.enableAction).isEqualTo(AsyncAction.Uninitialized)
|
||||||
|
assertThat(initialState.displayKeyStorageDisabledError).isFalse()
|
||||||
assertThat(initialState.recoveryState).isEqualTo(RecoveryState.UNKNOWN)
|
assertThat(initialState.recoveryState).isEqualTo(RecoveryState.UNKNOWN)
|
||||||
assertThat(initialState.appName).isEqualTo("Element")
|
assertThat(initialState.appName).isEqualTo("Element")
|
||||||
assertThat(initialState.snackbarMessage).isNull()
|
assertThat(initialState.snackbarMessage).isNull()
|
||||||
|
|
@ -70,6 +73,35 @@ class SecureBackupRootPresenterTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `present - setting up encryption when key storage is disabled should emit a state to render a dialog`() = runTest {
|
||||||
|
val presenter = createSecureBackupRootPresenter()
|
||||||
|
moleculeFlow(RecompositionMode.Immediate) {
|
||||||
|
presenter.present()
|
||||||
|
}.test {
|
||||||
|
skipItems(2)
|
||||||
|
val initialState = awaitItem()
|
||||||
|
initialState.eventSink(SecureBackupRootEvents.DisplayKeyStorageDisabledError)
|
||||||
|
assertThat(awaitItem().displayKeyStorageDisabledError).isTrue()
|
||||||
|
initialState.eventSink(SecureBackupRootEvents.DismissDialog)
|
||||||
|
assertThat(awaitItem().displayKeyStorageDisabledError).isFalse()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `present - enable key storage invoke the expected API`() = runTest {
|
||||||
|
val presenter = createSecureBackupRootPresenter()
|
||||||
|
moleculeFlow(RecompositionMode.Immediate) {
|
||||||
|
presenter.present()
|
||||||
|
}.test {
|
||||||
|
skipItems(2)
|
||||||
|
val initialState = awaitItem()
|
||||||
|
initialState.eventSink(SecureBackupRootEvents.EnableKeyStorage)
|
||||||
|
assertThat(awaitItem().enableAction.isLoading()).isTrue()
|
||||||
|
assertThat(awaitItem().enableAction.isSuccess()).isTrue()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun createSecureBackupRootPresenter(
|
private fun createSecureBackupRootPresenter(
|
||||||
encryptionService: EncryptionService = FakeEncryptionService(),
|
encryptionService: EncryptionService = FakeEncryptionService(),
|
||||||
appName: String = "Element",
|
appName: String = "Element",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue