Let AsyncAction.Confirming be an interface, with a AsyncAction.ConfirmingNoParams data object.

This will allow inheritance of `AsyncAction.Confirming` with parameter(s).
This commit is contained in:
Benoit Marty 2024-10-14 10:49:55 +02:00
parent 792fdb346d
commit fb52657b12
46 changed files with 86 additions and 84 deletions

View file

@ -40,7 +40,7 @@ class SecureBackupDisablePresenter @Inject constructor(
is SecureBackupDisableEvents.DisableBackup -> if (disableAction.value.isConfirming()) {
coroutineScope.disableBackup(disableAction)
} else {
disableAction.value = AsyncAction.Confirming
disableAction.value = AsyncAction.ConfirmingNoParams
}
SecureBackupDisableEvents.DismissDialogs -> {
disableAction.value = AsyncAction.Uninitialized

View file

@ -15,7 +15,7 @@ open class SecureBackupDisableStateProvider : PreviewParameterProvider<SecureBac
override val values: Sequence<SecureBackupDisableState>
get() = sequenceOf(
aSecureBackupDisableState(),
aSecureBackupDisableState(disableAction = AsyncAction.Confirming),
aSecureBackupDisableState(disableAction = AsyncAction.ConfirmingNoParams),
aSecureBackupDisableState(disableAction = AsyncAction.Loading),
aSecureBackupDisableState(disableAction = AsyncAction.Failure(Exception("Failed to disable"))),
// Add other states here

View file

@ -47,7 +47,7 @@ class SecureBackupDisablePresenterTest {
val initialState = awaitItem()
initialState.eventSink(SecureBackupDisableEvents.DisableBackup)
val state = awaitItem()
assertThat(state.disableAction).isEqualTo(AsyncAction.Confirming)
assertThat(state.disableAction).isEqualTo(AsyncAction.ConfirmingNoParams)
initialState.eventSink(SecureBackupDisableEvents.DismissDialogs)
val finalState = awaitItem()
assertThat(finalState.disableAction).isEqualTo(AsyncAction.Uninitialized)
@ -64,7 +64,7 @@ class SecureBackupDisablePresenterTest {
assertThat(initialState.disableAction).isEqualTo(AsyncAction.Uninitialized)
initialState.eventSink(SecureBackupDisableEvents.DisableBackup)
val state = awaitItem()
assertThat(state.disableAction).isEqualTo(AsyncAction.Confirming)
assertThat(state.disableAction).isEqualTo(AsyncAction.ConfirmingNoParams)
initialState.eventSink(SecureBackupDisableEvents.DisableBackup)
val loadingState = awaitItem()
assertThat(loadingState.disableAction).isInstanceOf(AsyncAction.Loading::class.java)
@ -88,7 +88,7 @@ class SecureBackupDisablePresenterTest {
assertThat(initialState.disableAction).isEqualTo(AsyncAction.Uninitialized)
initialState.eventSink(SecureBackupDisableEvents.DisableBackup)
val state = awaitItem()
assertThat(state.disableAction).isEqualTo(AsyncAction.Confirming)
assertThat(state.disableAction).isEqualTo(AsyncAction.ConfirmingNoParams)
initialState.eventSink(SecureBackupDisableEvents.DisableBackup)
val loadingState = awaitItem()
assertThat(loadingState.disableAction).isInstanceOf(AsyncAction.Loading::class.java)