From bc9ba9ae067f1fd4854cea3c372a0d2837386437 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 12 Sep 2025 18:42:40 +0200 Subject: [PATCH] Add test on DefaultAnalyticsEntryPoint --- features/analytics/impl/build.gradle.kts | 9 +---- .../impl/DefaultAnalyticsEntryPointTest.kt | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 features/analytics/impl/src/test/kotlin/io/element/android/features/analytics/impl/DefaultAnalyticsEntryPointTest.kt diff --git a/features/analytics/impl/build.gradle.kts b/features/analytics/impl/build.gradle.kts index b722196c59..d35db4295e 100644 --- a/features/analytics/impl/build.gradle.kts +++ b/features/analytics/impl/build.gradle.kts @@ -1,3 +1,4 @@ +import extension.testCommonDependencies import extension.setupDependencyInjection /* @@ -30,13 +31,7 @@ dependencies { implementation(libs.androidx.datastore.preferences) implementation(libs.androidx.browser) - testImplementation(libs.test.junit) - testImplementation(libs.coroutines.test) - testImplementation(libs.molecule.runtime) - testImplementation(libs.test.truth) - testImplementation(libs.test.turbine) - testImplementation(libs.test.mockk) + testCommonDependencies(libs) testImplementation(projects.libraries.matrix.test) testImplementation(projects.services.analytics.test) - testImplementation(projects.tests.testutils) } diff --git a/features/analytics/impl/src/test/kotlin/io/element/android/features/analytics/impl/DefaultAnalyticsEntryPointTest.kt b/features/analytics/impl/src/test/kotlin/io/element/android/features/analytics/impl/DefaultAnalyticsEntryPointTest.kt new file mode 100644 index 0000000000..a814332994 --- /dev/null +++ b/features/analytics/impl/src/test/kotlin/io/element/android/features/analytics/impl/DefaultAnalyticsEntryPointTest.kt @@ -0,0 +1,37 @@ +/* + * Copyright 2025 New Vector 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.features.analytics.impl + +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.bumble.appyx.core.modality.BuildContext +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.test.core.aBuildMeta +import io.element.android.services.analytics.test.FakeAnalyticsService +import io.element.android.tests.testutils.node.TestParentNode +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class DefaultAnalyticsEntryPointTest { + @Test + fun `test node creation`() { + val entryPoint = DefaultAnalyticsEntryPoint() + val parentNode = TestParentNode.create { buildContext, plugins -> + AnalyticsOptInNode( + buildContext = buildContext, + plugins = plugins, + AnalyticsOptInPresenter( + buildMeta = aBuildMeta(), + analyticsService = FakeAnalyticsService() + ) + ) + } + val result = entryPoint.createNode(parentNode, BuildContext.root(null)) + assertThat(result).isInstanceOf(AnalyticsOptInNode::class.java) + } +}