Fix tests
This commit is contained in:
parent
df73b44279
commit
5c5a5ad7fc
4 changed files with 53 additions and 15 deletions
|
|
@ -67,8 +67,7 @@ dependencies {
|
|||
testImplementation(projects.features.messages.test)
|
||||
testImplementation(projects.features.networkmonitor.test)
|
||||
testImplementation(projects.features.rageshake.test)
|
||||
testImplementation(projects.services.appnavstate.impl)
|
||||
testImplementation(projects.services.apperror.test)
|
||||
testImplementation(projects.services.appnavstate.test)
|
||||
testImplementation(projects.services.analytics.test)
|
||||
testImplementation(projects.services.toolbox.test)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ import io.element.android.services.analytics.api.watchers.AnalyticsSendMessageWa
|
|||
import io.element.android.services.analytics.test.FakeAnalyticsService
|
||||
import io.element.android.services.analytics.test.watchers.FakeAnalyticsSendMessageWatcher
|
||||
import io.element.android.services.appnavstate.api.ActiveRoomsHolder
|
||||
import io.element.android.services.appnavstate.impl.DefaultActiveRoomsHolder
|
||||
import io.element.android.services.appnavstate.test.FakeActiveRoomsHolder
|
||||
import io.element.android.services.appnavstate.test.FakeAppNavigationStateService
|
||||
import kotlinx.coroutines.test.TestScope
|
||||
import kotlinx.coroutines.test.runTest
|
||||
|
|
@ -128,7 +128,7 @@ class JoinedRoomLoadedFlowNodeTest {
|
|||
roomDetailsEntryPoint: RoomDetailsEntryPoint = FakeRoomDetailsEntryPoint(),
|
||||
spaceEntryPoint: SpaceEntryPoint = FakeSpaceEntryPoint(),
|
||||
forwardEntryPoint: ForwardEntryPoint = FakeForwardEntryPoint(),
|
||||
activeRoomsHolder: ActiveRoomsHolder = DefaultActiveRoomsHolder(),
|
||||
activeRoomsHolder: ActiveRoomsHolder = FakeActiveRoomsHolder(),
|
||||
matrixClient: FakeMatrixClient = FakeMatrixClient(),
|
||||
) = JoinedRoomLoadedFlowNode(
|
||||
buildContext = BuildContext.root(savedStateMap = null),
|
||||
|
|
@ -213,7 +213,7 @@ class JoinedRoomLoadedFlowNodeTest {
|
|||
val fakeMessagesEntryPoint = FakeMessagesEntryPoint()
|
||||
val fakeRoomDetailsEntryPoint = FakeRoomDetailsEntryPoint()
|
||||
val inputs = JoinedRoomLoadedFlowNode.Inputs(room, RoomNavigationTarget.Root())
|
||||
val activeRoomsHolder = DefaultActiveRoomsHolder()
|
||||
val activeRoomsHolder = FakeActiveRoomsHolder()
|
||||
val roomFlowNode = createJoinedRoomLoadedFlowNode(
|
||||
plugins = listOf(inputs, FakeJoinedRoomLoadedFlowNodeCallback()),
|
||||
messagesEntryPoint = fakeMessagesEntryPoint,
|
||||
|
|
@ -236,7 +236,7 @@ class JoinedRoomLoadedFlowNodeTest {
|
|||
val fakeMessagesEntryPoint = FakeMessagesEntryPoint()
|
||||
val fakeRoomDetailsEntryPoint = FakeRoomDetailsEntryPoint()
|
||||
val inputs = JoinedRoomLoadedFlowNode.Inputs(room, RoomNavigationTarget.Root())
|
||||
val activeRoomsHolder = DefaultActiveRoomsHolder().apply {
|
||||
val activeRoomsHolder = FakeActiveRoomsHolder().apply {
|
||||
addRoom(room)
|
||||
}
|
||||
val roomFlowNode = createJoinedRoomLoadedFlowNode(
|
||||
|
|
|
|||
|
|
@ -19,8 +19,7 @@ import io.element.android.libraries.matrix.test.FakeSdkMetadata
|
|||
import io.element.android.services.analytics.test.FakeAnalyticsService
|
||||
import io.element.android.services.apperror.api.AppErrorState
|
||||
import io.element.android.services.apperror.api.AppErrorStateService
|
||||
import io.element.android.services.apperror.impl.DefaultAppErrorStateService
|
||||
import io.element.android.services.toolbox.test.strings.FakeStringProvider
|
||||
import io.element.android.services.apperror.test.FakeAppErrorStateService
|
||||
import io.element.android.tests.testutils.WarmUpRule
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Rule
|
||||
|
|
@ -44,10 +43,16 @@ class RootPresenterTest {
|
|||
@Test
|
||||
fun `present - passes app error state`() = runTest {
|
||||
val presenter = createRootPresenter(
|
||||
appErrorService = DefaultAppErrorStateService(
|
||||
stringProvider = FakeStringProvider(),
|
||||
).apply {
|
||||
showError("Bad news", "Something bad happened")
|
||||
appErrorService = FakeAppErrorStateService().apply {
|
||||
setAppErrorState(
|
||||
AppErrorState.Error(
|
||||
title = "Bad news",
|
||||
body = "Something bad happened",
|
||||
dismiss = {
|
||||
setAppErrorState(AppErrorState.NoError)
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
)
|
||||
moleculeFlow(RecompositionMode.Immediate) {
|
||||
|
|
@ -65,9 +70,7 @@ class RootPresenterTest {
|
|||
}
|
||||
|
||||
private fun createRootPresenter(
|
||||
appErrorService: AppErrorStateService = DefaultAppErrorStateService(
|
||||
stringProvider = FakeStringProvider(),
|
||||
),
|
||||
appErrorService: AppErrorStateService = FakeAppErrorStateService(),
|
||||
): RootPresenter {
|
||||
return RootPresenter(
|
||||
crashDetectionPresenter = { aCrashDetectionState() },
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* Copyright (c) 2026 Element Creations Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.services.appnavstate.test
|
||||
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.api.core.SessionId
|
||||
import io.element.android.libraries.matrix.api.room.JoinedRoom
|
||||
import io.element.android.services.appnavstate.api.ActiveRoomsHolder
|
||||
|
||||
class FakeActiveRoomsHolder : ActiveRoomsHolder {
|
||||
private var room: JoinedRoom? = null
|
||||
|
||||
override fun addRoom(room: JoinedRoom) {
|
||||
this.room = room
|
||||
}
|
||||
|
||||
override fun getActiveRoom(sessionId: SessionId): JoinedRoom? {
|
||||
return room
|
||||
}
|
||||
|
||||
override fun getActiveRoomMatching(sessionId: SessionId, roomId: RoomId): JoinedRoom? {
|
||||
return null
|
||||
}
|
||||
|
||||
override fun removeRoom(sessionId: SessionId, roomId: RoomId) {
|
||||
room = null
|
||||
}
|
||||
|
||||
override fun clear(sessionId: SessionId) {
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue