Avoid tryEmit(), use emit()

This commit is contained in:
Benoit Marty
2024-03-26 15:29:12 +01:00
committed by Benoit Marty
parent e9308400bd
commit df0d790493
11 changed files with 21 additions and 19 deletions

View File

@@ -48,30 +48,30 @@ class FakeNotificationTroubleshootTest(
}
}
override fun reset() {
override suspend fun reset() {
updateState(
name = defaultName,
description = defaultDescription,
status = firstStatus,
)
resetAction()?.let {
_state.tryEmit(it)
_state.emit(it)
}
}
override suspend fun quickFix(coroutineScope: CoroutineScope) {
updateState(NotificationTroubleshootTestState.Status.InProgress)
quickFixAction()?.let {
_state.tryEmit(it)
_state.emit(it)
}
}
fun updateState(
suspend fun updateState(
status: NotificationTroubleshootTestState.Status,
name: String = defaultName,
description: String = defaultDescription,
) {
_state.tryEmit(
_state.emit(
NotificationTroubleshootTestState(
name = name,
description = description,

View File

@@ -24,6 +24,8 @@ interface NotificationTroubleshootTest {
val state: StateFlow<NotificationTroubleshootTestState>
fun isRelevant(data: TestFilterData): Boolean = true
suspend fun run(coroutineScope: CoroutineScope)
fun reset()
suspend fun quickFix(coroutineScope: CoroutineScope) {}
suspend fun reset()
suspend fun quickFix(coroutineScope: CoroutineScope) {
error("Quick fix not implemented, you need to override this method in your test")
}
}

View File

@@ -41,12 +41,12 @@ class NotificationTroubleshootTestDelegate(
val state: StateFlow<NotificationTroubleshootTestState> = _state.asStateFlow()
fun updateState(
suspend fun updateState(
status: NotificationTroubleshootTestState.Status,
name: String = defaultName,
description: String = defaultDescription,
) {
_state.tryEmit(
_state.emit(
NotificationTroubleshootTestState(
name = name,
description = description,
@@ -55,7 +55,7 @@ class NotificationTroubleshootTestDelegate(
)
}
fun reset() {
suspend fun reset() {
updateState(NotificationTroubleshootTestState.Status.Idle(visibleWhenIdle))
}
@@ -64,7 +64,7 @@ class NotificationTroubleshootTestDelegate(
delay(fakeDelay)
}
fun done(isSuccess: Boolean = true) {
suspend fun done(isSuccess: Boolean = true) {
updateState(
if (isSuccess) {
NotificationTroubleshootTestState.Status.Success

View File

@@ -57,7 +57,7 @@ class NotificationTroubleshootCheckPermissionTest @Inject constructor(
delegate.done(result)
}
override fun reset() = delegate.reset()
override suspend fun reset() = delegate.reset()
override suspend fun quickFix(coroutineScope: CoroutineScope) {
// Do not bother about asking the permission inline, just lead the user to the settings

View File

@@ -54,5 +54,5 @@ class CurrentPushProviderTest @Inject constructor(
}
}
override fun reset() = delegate.reset()
override suspend fun reset() = delegate.reset()
}

View File

@@ -90,5 +90,5 @@ class NotificationTest @Inject constructor(
notificationDisplayer.dismissDiagnosticNotification()
}
override fun reset() = delegate.reset()
override suspend fun reset() = delegate.reset()
}

View File

@@ -98,5 +98,5 @@ class PushLoopbackTest @Inject constructor(
}
}
override fun reset() = delegate.reset()
override suspend fun reset() = delegate.reset()
}

View File

@@ -55,5 +55,5 @@ class PushProvidersTest @Inject constructor(
}
}
override fun reset() = delegate.reset()
override suspend fun reset() = delegate.reset()
}

View File

@@ -61,5 +61,5 @@ class FirebaseAvailabilityTest @Inject constructor(
}
}
override fun reset() = delegate.reset()
override suspend fun reset() = delegate.reset()
}

View File

@@ -63,7 +63,7 @@ class FirebaseTokenTest @Inject constructor(
}
}
override fun reset() = delegate.reset()
override suspend fun reset() = delegate.reset()
override suspend fun quickFix(coroutineScope: CoroutineScope) {
delegate.start()

View File

@@ -62,7 +62,7 @@ class UnifiedPushTest @Inject constructor(
}
}
override fun reset() = delegate.reset()
override suspend fun reset() = delegate.reset()
override suspend fun quickFix(coroutineScope: CoroutineScope) {
openDistributorWebPageAction.execute()