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.messages.test)
|
||||||
testImplementation(projects.features.networkmonitor.test)
|
testImplementation(projects.features.networkmonitor.test)
|
||||||
testImplementation(projects.features.rageshake.test)
|
testImplementation(projects.features.rageshake.test)
|
||||||
testImplementation(projects.services.appnavstate.impl)
|
testImplementation(projects.services.apperror.test)
|
||||||
testImplementation(projects.services.appnavstate.test)
|
testImplementation(projects.services.appnavstate.test)
|
||||||
testImplementation(projects.services.analytics.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.FakeAnalyticsService
|
||||||
import io.element.android.services.analytics.test.watchers.FakeAnalyticsSendMessageWatcher
|
import io.element.android.services.analytics.test.watchers.FakeAnalyticsSendMessageWatcher
|
||||||
import io.element.android.services.appnavstate.api.ActiveRoomsHolder
|
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 io.element.android.services.appnavstate.test.FakeAppNavigationStateService
|
||||||
import kotlinx.coroutines.test.TestScope
|
import kotlinx.coroutines.test.TestScope
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
|
|
@ -128,7 +128,7 @@ class JoinedRoomLoadedFlowNodeTest {
|
||||||
roomDetailsEntryPoint: RoomDetailsEntryPoint = FakeRoomDetailsEntryPoint(),
|
roomDetailsEntryPoint: RoomDetailsEntryPoint = FakeRoomDetailsEntryPoint(),
|
||||||
spaceEntryPoint: SpaceEntryPoint = FakeSpaceEntryPoint(),
|
spaceEntryPoint: SpaceEntryPoint = FakeSpaceEntryPoint(),
|
||||||
forwardEntryPoint: ForwardEntryPoint = FakeForwardEntryPoint(),
|
forwardEntryPoint: ForwardEntryPoint = FakeForwardEntryPoint(),
|
||||||
activeRoomsHolder: ActiveRoomsHolder = DefaultActiveRoomsHolder(),
|
activeRoomsHolder: ActiveRoomsHolder = FakeActiveRoomsHolder(),
|
||||||
matrixClient: FakeMatrixClient = FakeMatrixClient(),
|
matrixClient: FakeMatrixClient = FakeMatrixClient(),
|
||||||
) = JoinedRoomLoadedFlowNode(
|
) = JoinedRoomLoadedFlowNode(
|
||||||
buildContext = BuildContext.root(savedStateMap = null),
|
buildContext = BuildContext.root(savedStateMap = null),
|
||||||
|
|
@ -213,7 +213,7 @@ class JoinedRoomLoadedFlowNodeTest {
|
||||||
val fakeMessagesEntryPoint = FakeMessagesEntryPoint()
|
val fakeMessagesEntryPoint = FakeMessagesEntryPoint()
|
||||||
val fakeRoomDetailsEntryPoint = FakeRoomDetailsEntryPoint()
|
val fakeRoomDetailsEntryPoint = FakeRoomDetailsEntryPoint()
|
||||||
val inputs = JoinedRoomLoadedFlowNode.Inputs(room, RoomNavigationTarget.Root())
|
val inputs = JoinedRoomLoadedFlowNode.Inputs(room, RoomNavigationTarget.Root())
|
||||||
val activeRoomsHolder = DefaultActiveRoomsHolder()
|
val activeRoomsHolder = FakeActiveRoomsHolder()
|
||||||
val roomFlowNode = createJoinedRoomLoadedFlowNode(
|
val roomFlowNode = createJoinedRoomLoadedFlowNode(
|
||||||
plugins = listOf(inputs, FakeJoinedRoomLoadedFlowNodeCallback()),
|
plugins = listOf(inputs, FakeJoinedRoomLoadedFlowNodeCallback()),
|
||||||
messagesEntryPoint = fakeMessagesEntryPoint,
|
messagesEntryPoint = fakeMessagesEntryPoint,
|
||||||
|
|
@ -236,7 +236,7 @@ class JoinedRoomLoadedFlowNodeTest {
|
||||||
val fakeMessagesEntryPoint = FakeMessagesEntryPoint()
|
val fakeMessagesEntryPoint = FakeMessagesEntryPoint()
|
||||||
val fakeRoomDetailsEntryPoint = FakeRoomDetailsEntryPoint()
|
val fakeRoomDetailsEntryPoint = FakeRoomDetailsEntryPoint()
|
||||||
val inputs = JoinedRoomLoadedFlowNode.Inputs(room, RoomNavigationTarget.Root())
|
val inputs = JoinedRoomLoadedFlowNode.Inputs(room, RoomNavigationTarget.Root())
|
||||||
val activeRoomsHolder = DefaultActiveRoomsHolder().apply {
|
val activeRoomsHolder = FakeActiveRoomsHolder().apply {
|
||||||
addRoom(room)
|
addRoom(room)
|
||||||
}
|
}
|
||||||
val roomFlowNode = createJoinedRoomLoadedFlowNode(
|
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.analytics.test.FakeAnalyticsService
|
||||||
import io.element.android.services.apperror.api.AppErrorState
|
import io.element.android.services.apperror.api.AppErrorState
|
||||||
import io.element.android.services.apperror.api.AppErrorStateService
|
import io.element.android.services.apperror.api.AppErrorStateService
|
||||||
import io.element.android.services.apperror.impl.DefaultAppErrorStateService
|
import io.element.android.services.apperror.test.FakeAppErrorStateService
|
||||||
import io.element.android.services.toolbox.test.strings.FakeStringProvider
|
|
||||||
import io.element.android.tests.testutils.WarmUpRule
|
import io.element.android.tests.testutils.WarmUpRule
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.junit.Rule
|
import org.junit.Rule
|
||||||
|
|
@ -44,10 +43,16 @@ class RootPresenterTest {
|
||||||
@Test
|
@Test
|
||||||
fun `present - passes app error state`() = runTest {
|
fun `present - passes app error state`() = runTest {
|
||||||
val presenter = createRootPresenter(
|
val presenter = createRootPresenter(
|
||||||
appErrorService = DefaultAppErrorStateService(
|
appErrorService = FakeAppErrorStateService().apply {
|
||||||
stringProvider = FakeStringProvider(),
|
setAppErrorState(
|
||||||
).apply {
|
AppErrorState.Error(
|
||||||
showError("Bad news", "Something bad happened")
|
title = "Bad news",
|
||||||
|
body = "Something bad happened",
|
||||||
|
dismiss = {
|
||||||
|
setAppErrorState(AppErrorState.NoError)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
moleculeFlow(RecompositionMode.Immediate) {
|
moleculeFlow(RecompositionMode.Immediate) {
|
||||||
|
|
@ -65,9 +70,7 @@ class RootPresenterTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createRootPresenter(
|
private fun createRootPresenter(
|
||||||
appErrorService: AppErrorStateService = DefaultAppErrorStateService(
|
appErrorService: AppErrorStateService = FakeAppErrorStateService(),
|
||||||
stringProvider = FakeStringProvider(),
|
|
||||||
),
|
|
||||||
): RootPresenter {
|
): RootPresenter {
|
||||||
return RootPresenter(
|
return RootPresenter(
|
||||||
crashDetectionPresenter = { aCrashDetectionState() },
|
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