Skip to content

Commit 786b68d

Browse files
authored
Merge pull request #5343 from element-hq/feature/bma/testEntryPoint
Add test on DefaultSpaceEntryPoint
2 parents e980936 + 2af6895 commit 786b68d

File tree

195 files changed

+2993
-1034
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

195 files changed

+2993
-1034
lines changed

app/build.gradle.kts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import extension.koverDependencies
2424
import extension.locales
2525
import extension.setupDependencyInjection
2626
import extension.setupKover
27+
import extension.testCommonDependencies
2728
import java.util.Locale
2829

2930
plugins {
@@ -290,15 +291,9 @@ dependencies {
290291

291292
implementation(libs.matrix.emojibase.bindings)
292293

293-
testImplementation(libs.test.junit)
294-
testImplementation(libs.test.robolectric)
295-
testImplementation(libs.coroutines.test)
296-
testImplementation(libs.molecule.runtime)
297-
testImplementation(libs.test.truth)
298-
testImplementation(libs.test.turbine)
294+
testCommonDependencies(libs)
299295
testImplementation(projects.libraries.matrix.test)
300296
testImplementation(projects.services.toolbox.test)
301-
testImplementation(projects.tests.testutils)
302297

303298
koverDependencies()
304299
}

appnav/build.gradle.kts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import extension.allFeaturesApi
1111
import extension.setupDependencyInjection
12+
import extension.testCommonDependencies
1213

1314
plugins {
1415
id("io.element.android-compose-library")
@@ -48,24 +49,16 @@ dependencies {
4849
implementation(projects.services.appnavstate.api)
4950
implementation(projects.services.analytics.api)
5051

51-
testImplementation(libs.test.junit)
52-
testImplementation(libs.test.robolectric)
53-
testImplementation(libs.coroutines.test)
54-
testImplementation(libs.molecule.runtime)
55-
testImplementation(libs.test.truth)
56-
testImplementation(libs.test.turbine)
52+
testCommonDependencies(libs)
5753
testImplementation(projects.features.login.test)
5854
testImplementation(projects.libraries.matrix.test)
5955
testImplementation(projects.libraries.oidc.test)
6056
testImplementation(projects.libraries.preferences.test)
6157
testImplementation(projects.libraries.push.test)
6258
testImplementation(projects.libraries.pushproviders.test)
6359
testImplementation(projects.features.networkmonitor.test)
64-
testImplementation(projects.tests.testutils)
6560
testImplementation(projects.features.rageshake.test)
6661
testImplementation(projects.services.appnavstate.test)
6762
testImplementation(projects.services.analytics.test)
6863
testImplementation(projects.services.toolbox.test)
69-
testImplementation(libs.test.appyx.junit)
70-
testImplementation(libs.test.arch.core)
7164
}

appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -445,8 +445,7 @@ class LoggedInFlowNode(
445445
.build()
446446
}
447447
NavTarget.Ftue -> {
448-
ftueEntryPoint.nodeBuilder(this, buildContext)
449-
.build()
448+
ftueEntryPoint.createNode(this, buildContext)
450449
}
451450
NavTarget.RoomDirectorySearch -> {
452451
roomDirectoryEntryPoint.nodeBuilder(this, buildContext)

appnav/src/main/kotlin/io/element/android/appnav/di/RoomComponentFactory.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ package io.element.android.appnav.di
99

1010
import io.element.android.libraries.matrix.api.room.JoinedRoom
1111

12-
interface RoomComponentFactory {
12+
fun interface RoomComponentFactory {
1313
fun create(room: JoinedRoom): Any
1414
}

features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/AnalyticsEntryPoint.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ package io.element.android.features.analytics.api
99

1010
import io.element.android.libraries.architecture.SimpleFeatureEntryPoint
1111

12-
interface AnalyticsEntryPoint : SimpleFeatureEntryPoint
12+
fun interface AnalyticsEntryPoint : SimpleFeatureEntryPoint

features/analytics/impl/build.gradle.kts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import extension.setupDependencyInjection
2+
import extension.testCommonDependencies
23

34
/*
45
* Copyright 2023, 2024 New Vector Ltd.
@@ -30,13 +31,7 @@ dependencies {
3031
implementation(libs.androidx.datastore.preferences)
3132
implementation(libs.androidx.browser)
3233

33-
testImplementation(libs.test.junit)
34-
testImplementation(libs.coroutines.test)
35-
testImplementation(libs.molecule.runtime)
36-
testImplementation(libs.test.truth)
37-
testImplementation(libs.test.turbine)
38-
testImplementation(libs.test.mockk)
34+
testCommonDependencies(libs)
3935
testImplementation(projects.libraries.matrix.test)
4036
testImplementation(projects.services.analytics.test)
41-
testImplementation(projects.tests.testutils)
4237
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
* Copyright 2025 New Vector Ltd.
3+
*
4+
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
5+
* Please see LICENSE files in the repository root for full details.
6+
*/
7+
8+
package io.element.android.features.analytics.impl
9+
10+
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
11+
import com.bumble.appyx.core.modality.BuildContext
12+
import com.google.common.truth.Truth.assertThat
13+
import io.element.android.libraries.matrix.test.core.aBuildMeta
14+
import io.element.android.services.analytics.test.FakeAnalyticsService
15+
import io.element.android.tests.testutils.node.TestParentNode
16+
import org.junit.Rule
17+
import org.junit.Test
18+
19+
class DefaultAnalyticsEntryPointTest {
20+
@get:Rule
21+
val instantTaskExecutorRule = InstantTaskExecutorRule()
22+
23+
@Test
24+
fun `test node creation`() {
25+
val entryPoint = DefaultAnalyticsEntryPoint()
26+
val parentNode = TestParentNode.create { buildContext, plugins ->
27+
AnalyticsOptInNode(
28+
buildContext = buildContext,
29+
plugins = plugins,
30+
AnalyticsOptInPresenter(
31+
buildMeta = aBuildMeta(),
32+
analyticsService = FakeAnalyticsService()
33+
)
34+
)
35+
}
36+
val result = entryPoint.createNode(parentNode, BuildContext.root(null))
37+
assertThat(result).isInstanceOf(AnalyticsOptInNode::class.java)
38+
}
39+
}

features/cachecleaner/impl/build.gradle.kts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import extension.setupDependencyInjection
2+
import extension.testCommonDependencies
23

34
/*
45
* Copyright 2023, 2024 New Vector Ltd.
@@ -22,8 +23,5 @@ dependencies {
2223
implementation(projects.libraries.core)
2324
implementation(projects.libraries.architecture)
2425

25-
testImplementation(libs.test.junit)
26-
testImplementation(libs.coroutines.test)
27-
testImplementation(libs.test.truth)
28-
testImplementation(projects.tests.testutils)
26+
testCommonDependencies(libs)
2927
}

features/call/impl/build.gradle.kts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import extension.buildConfigFieldStr
22
import extension.readLocalProperty
33
import extension.setupDependencyInjection
4+
import extension.testCommonDependencies
45

56
/*
67
* Copyright 2024 New Vector Ltd.
@@ -87,12 +88,7 @@ dependencies {
8788
implementation(libs.element.call.embedded)
8889
api(projects.features.call.api)
8990

90-
testImplementation(libs.coroutines.test)
91-
testImplementation(libs.molecule.runtime)
92-
testImplementation(libs.test.truth)
93-
testImplementation(libs.test.turbine)
94-
testImplementation(libs.test.robolectric)
95-
testImplementation(libs.test.mockk)
91+
testCommonDependencies(libs, true)
9692
testImplementation(projects.features.call.test)
9793
testImplementation(projects.libraries.featureflag.test)
9894
testImplementation(projects.libraries.preferences.test)
@@ -101,7 +97,4 @@ dependencies {
10197
testImplementation(projects.services.analytics.test)
10298
testImplementation(projects.services.appnavstate.test)
10399
testImplementation(projects.services.toolbox.test)
104-
testImplementation(projects.tests.testutils)
105-
testImplementation(libs.androidx.compose.ui.test.junit)
106-
testReleaseImplementation(libs.androidx.compose.ui.test.manifest)
107100
}

features/changeroommemberroles/api/src/main/kotlin/io/element/android/features/changeroommemberroes/api/ChangeRoomMemberRolesEntryPoint.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import io.element.android.libraries.architecture.NodeInputs
1414
import io.element.android.libraries.matrix.api.core.RoomId
1515
import io.element.android.libraries.matrix.api.room.JoinedRoom
1616

17-
interface ChangeRoomMemberRolesEntryPoint : FeatureEntryPoint {
17+
fun interface ChangeRoomMemberRolesEntryPoint : FeatureEntryPoint {
1818
fun builder(parentNode: Node, buildContext: BuildContext): Builder
1919

2020
interface Builder {

0 commit comments

Comments
 (0)