Improve FakeAppNavigationStateService
This commit is contained in:
committed by
Benoit Marty
parent
00fb4498f4
commit
a651a1cd6f
@@ -63,9 +63,9 @@ class DefaultAnalyticsRoomListStateWatcherTest {
|
||||
|
||||
@Test
|
||||
fun `Opening the app in a cold state does nothing`() = runTest {
|
||||
val navigationStateService = FakeAppNavigationStateService().apply {
|
||||
appNavigationState.emit(AppNavigationState(NavigationState.Root, false))
|
||||
}
|
||||
val navigationStateService = FakeAppNavigationStateService(
|
||||
initialAppNavigationState = AppNavigationState(NavigationState.Root, false)
|
||||
)
|
||||
val roomListService = FakeRoomListService().apply {
|
||||
postState(RoomListService.State.Idle)
|
||||
}
|
||||
|
||||
@@ -31,7 +31,6 @@ import io.sentry.Sentry
|
||||
import io.sentry.SentryTracer
|
||||
import io.sentry.protocol.SentryId
|
||||
import io.sentry.protocol.SentryTransaction
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@@ -149,7 +148,7 @@ class SentryAnalyticsProviderTest {
|
||||
)
|
||||
},
|
||||
appNavigationStateService = FakeAppNavigationStateService(
|
||||
MutableStateFlow(AppNavigationState(navigationState = NavigationState.Session("owner", A_SESSION_ID), isInForeground = true))
|
||||
initialAppNavigationState = AppNavigationState(navigationState = NavigationState.Session("owner", A_SESSION_ID), isInForeground = true)
|
||||
)
|
||||
).run {
|
||||
init()
|
||||
@@ -182,7 +181,7 @@ class SentryAnalyticsProviderTest {
|
||||
)
|
||||
},
|
||||
appNavigationStateService = FakeAppNavigationStateService(
|
||||
MutableStateFlow(AppNavigationState(navigationState = NavigationState.Root, isInForeground = true))
|
||||
initialAppNavigationState = AppNavigationState(navigationState = NavigationState.Root, isInForeground = true)
|
||||
)
|
||||
).run {
|
||||
init()
|
||||
@@ -203,7 +202,7 @@ class SentryAnalyticsProviderTest {
|
||||
)
|
||||
},
|
||||
appNavigationStateService = FakeAppNavigationStateService(
|
||||
MutableStateFlow(AppNavigationState(navigationState = NavigationState.Session("owner", A_SESSION_ID), isInForeground = true))
|
||||
initialAppNavigationState = AppNavigationState(navigationState = NavigationState.Session("owner", A_SESSION_ID), isInForeground = true)
|
||||
)
|
||||
).run {
|
||||
init()
|
||||
@@ -221,7 +220,7 @@ class SentryAnalyticsProviderTest {
|
||||
buildMeta: BuildMeta = aBuildMeta(),
|
||||
getDatabaseSizesUseCase: GetDatabaseSizesUseCase = GetDatabaseSizesUseCase { Result.success(SdkStoreSizes(null, null, null, null)) },
|
||||
appNavigationStateService: FakeAppNavigationStateService = FakeAppNavigationStateService(
|
||||
MutableStateFlow(AppNavigationState(navigationState = NavigationState.Session("owner", A_SESSION_ID), isInForeground = true))
|
||||
initialAppNavigationState = AppNavigationState(NavigationState.Session("owner", A_SESSION_ID), isInForeground = true)
|
||||
)
|
||||
) = SentryAnalyticsProvider(
|
||||
context = InstrumentationRegistry.getInstrumentation().targetContext,
|
||||
|
||||
@@ -15,15 +15,21 @@ import io.element.android.services.appnavstate.api.AppNavigationState
|
||||
import io.element.android.services.appnavstate.api.AppNavigationStateService
|
||||
import io.element.android.services.appnavstate.api.NavigationState
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
|
||||
class FakeAppNavigationStateService(
|
||||
override val appNavigationState: MutableStateFlow<AppNavigationState> = MutableStateFlow(
|
||||
AppNavigationState(
|
||||
navigationState = NavigationState.Root,
|
||||
isInForeground = true,
|
||||
)
|
||||
initialAppNavigationState: AppNavigationState = AppNavigationState(
|
||||
navigationState = NavigationState.Root,
|
||||
isInForeground = true,
|
||||
),
|
||||
) : AppNavigationStateService {
|
||||
private val _appNavigationState: MutableStateFlow<AppNavigationState> = MutableStateFlow(initialAppNavigationState)
|
||||
override val appNavigationState = _appNavigationState.asStateFlow()
|
||||
|
||||
fun emitNavigationState(state: AppNavigationState) {
|
||||
_appNavigationState.value = state
|
||||
}
|
||||
|
||||
override fun onNavigateToSession(owner: String, sessionId: SessionId) = Unit
|
||||
override fun onLeavingSession(owner: String) = Unit
|
||||
|
||||
|
||||
Reference in New Issue
Block a user