From 7d852566e36233400633c91ba7516ea41b321808 Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Sun, 23 Jun 2024 12:36:49 +0200 Subject: [PATCH] Extract fixtures from `:core:testing` --- app/build.gradle.kts | 5 +++-- .../samples/apps/nowinandroid/ui/NiaAppStateTest.kt | 8 ++++---- core/analytics/build.gradle.kts | 5 +++++ .../core/analytics}/TestAnalyticsHelper.kt | 5 +---- core/data/build.gradle.kts | 1 + .../data/CompositeUserNewsResourceRepositoryTest.kt | 6 +++--- .../repository/OfflineFirstNewsRepositoryTest.kt | 4 ++-- .../repository/OfflineFirstTopicsRepositoryTest.kt | 2 +- .../repository/OfflineFirstUserDataRepositoryTest.kt | 2 +- .../core/data}/repository/TestNewsRepository.kt | 4 +--- .../data}/repository/TestRecentSearchRepository.kt | 3 +-- .../data}/repository/TestSearchContentsRepository.kt | 3 +-- .../core/data}/repository/TestTopicsRepository.kt | 3 +-- .../core/data}/repository/TestUserDataRepository.kt | 3 +-- .../core/data}/util/TestNetworkMonitor.kt | 3 +-- .../nowinandroid/core/data}/util/TestSyncManager.kt | 3 +-- .../core/data}/util/TestTimeZoneMonitor.kt | 3 +-- .../core/datastore/NiaPreferencesDataSourceTest.kt | 1 + .../core/datastore/{ => di}/TestDataStoreModule.kt | 7 ++++--- core/domain/build.gradle.kts | 1 + .../core/domain/GetFollowableTopicsUseCaseTest.kt | 4 ++-- core/model/build.gradle.kts | 1 + .../core/model/data/FollowableTopicFixtures.kt} | 5 +---- .../core/model/data/NewsResourceFixtures.kt} | 3 +-- .../nowinandroid/core/model/data/TopicFixtures.kt} | 4 +--- .../core/model/data/UserNewsResourceFixtures.kt} | 7 +------ core/notifications/build.gradle.kts | 1 + .../nowinandroid/core}/notifications/TestNotifier.kt | 3 +-- core/ui/build.gradle.kts | 1 + .../nowinandroid/core/ui/NewsResourceCardTest.kt | 4 ++-- feature/bookmarks/build.gradle.kts | 3 +++ .../feature/bookmarks/BookmarksScreenTest.kt | 2 +- .../feature/bookmarks/BookmarksViewModelTest.kt | 6 +++--- feature/foryou/build.gradle.kts | 3 +++ .../nowinandroid/feature/foryou/ForYouScreenTest.kt | 4 ++-- .../feature/foryou/ForYouViewModelTest.kt | 12 ++++++------ feature/interests/build.gradle.kts | 2 ++ .../nowinandroid/interests/InterestsScreenTest.kt | 2 +- .../nowinandroid/interests/InterestsViewModelTest.kt | 4 ++-- feature/search/build.gradle.kts | 3 +++ .../nowinandroid/feature/search/SearchScreenTest.kt | 4 ++-- .../feature/search/SearchViewModelTest.kt | 12 ++++++------ feature/settings/build.gradle.kts | 1 + .../feature/settings/SettingsViewModelTest.kt | 2 +- feature/topic/build.gradle.kts | 2 ++ .../nowinandroid/feature/topic/TopicScreenTest.kt | 4 ++-- .../nowinandroid/feature/topic/TopicViewModelTest.kt | 6 +++--- 47 files changed, 90 insertions(+), 87 deletions(-) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util => analytics/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/analytics}/TestAnalyticsHelper.kt (80%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing => data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data}/repository/TestNewsRepository.kt (90%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing => data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data}/repository/TestRecentSearchRepository.kt (89%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing => data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data}/repository/TestSearchContentsRepository.kt (93%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing => data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data}/repository/TestTopicsRepository.kt (91%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing => data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data}/repository/TestUserDataRepository.kt (96%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing => data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data}/util/TestNetworkMonitor.kt (88%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing => data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data}/util/TestSyncManager.kt (89%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing => data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data}/util/TestTimeZoneMonitor.kt (89%) rename core/datastore/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/datastore/{ => di}/TestDataStoreModule.kt (88%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/FollowableTopicTestData.kt => model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/FollowableTopicFixtures.kt} (93%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/NewsResourcesTestData.kt => model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/NewsResourceFixtures.kt} (96%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/TopicsTestData.kt => model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/TopicFixtures.kt} (95%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/UserNewsResourcesTestData.kt => model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/UserNewsResourceFixtures.kt} (92%) rename core/{testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing => notifications/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core}/notifications/TestNotifier.kt (88%) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 6c0225b41..04a0c521a 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -105,12 +105,12 @@ dependencies { implementation(libs.coil.kt) ksp(libs.hilt.compiler) + kspTest(libs.hilt.compiler) + kspAndroidTest(libs.hilt.compiler) debugImplementation(libs.androidx.compose.ui.testManifest) debugImplementation(projects.uiTestHiltManifest) - kspTest(libs.hilt.compiler) - testImplementation(projects.core.testing) testImplementation(libs.androidx.compose.ui.test) testImplementation(libs.androidx.work.testing) @@ -130,6 +130,7 @@ dependencies { androidTestImplementation(libs.hilt.android.testing) androidTestImplementation(testFixtures(projects.core.data)) androidTestImplementation(testFixtures(projects.core.datastore)) + androidTestImplementation(testFixtures(projects.sync)) baselineProfile(projects.benchmarks) } diff --git a/app/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/ui/NiaAppStateTest.kt b/app/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/ui/NiaAppStateTest.kt index c2c74458d..32f3d17e4 100644 --- a/app/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/ui/NiaAppStateTest.kt +++ b/app/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/ui/NiaAppStateTest.kt @@ -27,10 +27,10 @@ import androidx.navigation.compose.composable import androidx.navigation.createGraph import androidx.navigation.testing.TestNavHostController import com.google.samples.apps.nowinandroid.core.data.repository.CompositeUserNewsResourceRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.TestNewsRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository -import com.google.samples.apps.nowinandroid.core.testing.util.TestNetworkMonitor -import com.google.samples.apps.nowinandroid.core.testing.util.TestTimeZoneMonitor +import com.google.samples.apps.nowinandroid.core.data.repository.TestNewsRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestUserDataRepository +import com.google.samples.apps.nowinandroid.core.data.util.TestNetworkMonitor +import com.google.samples.apps.nowinandroid.core.data.util.TestTimeZoneMonitor import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch import kotlinx.coroutines.test.UnconfinedTestDispatcher diff --git a/core/analytics/build.gradle.kts b/core/analytics/build.gradle.kts index 023574e6f..cc0093bbe 100644 --- a/core/analytics/build.gradle.kts +++ b/core/analytics/build.gradle.kts @@ -21,6 +21,7 @@ plugins { android { namespace = "com.google.samples.apps.nowinandroid.core.analytics" + testFixtures.enable = true } dependencies { @@ -28,4 +29,8 @@ dependencies { prodImplementation(platform(libs.firebase.bom)) prodImplementation(libs.firebase.analytics) + + testFixturesImplementation(libs.androidx.compose.runtime) { + because("https://issuetracker.google.com/issues/259523353#comment32") + } } diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util/TestAnalyticsHelper.kt b/core/analytics/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/analytics/TestAnalyticsHelper.kt similarity index 80% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util/TestAnalyticsHelper.kt rename to core/analytics/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/analytics/TestAnalyticsHelper.kt index 5f72d30e6..fd3c24011 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util/TestAnalyticsHelper.kt +++ b/core/analytics/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/analytics/TestAnalyticsHelper.kt @@ -14,10 +14,7 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.testing.util - -import com.google.samples.apps.nowinandroid.core.analytics.AnalyticsEvent -import com.google.samples.apps.nowinandroid.core.analytics.AnalyticsHelper +package com.google.samples.apps.nowinandroid.core.analytics class TestAnalyticsHelper : AnalyticsHelper { diff --git a/core/data/build.gradle.kts b/core/data/build.gradle.kts index c74546fcc..893a1d0bb 100644 --- a/core/data/build.gradle.kts +++ b/core/data/build.gradle.kts @@ -44,6 +44,7 @@ dependencies { testImplementation(libs.kotlinx.serialization.json) testImplementation(projects.core.testing) testImplementation(testFixtures(projects.core.datastore)) + testImplementation(testFixtures(projects.core.notifications)) kspTestFixtures(libs.hilt.compiler) testFixturesImplementation(libs.hilt.android.testing) diff --git a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/CompositeUserNewsResourceRepositoryTest.kt b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/CompositeUserNewsResourceRepositoryTest.kt index 05811f4be..e28f439bb 100644 --- a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/CompositeUserNewsResourceRepositoryTest.kt +++ b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/CompositeUserNewsResourceRepositoryTest.kt @@ -18,12 +18,12 @@ package com.google.samples.apps.nowinandroid.core.data import com.google.samples.apps.nowinandroid.core.data.repository.CompositeUserNewsResourceRepository import com.google.samples.apps.nowinandroid.core.data.repository.NewsResourceQuery +import com.google.samples.apps.nowinandroid.core.data.repository.TestNewsRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestUserDataRepository +import com.google.samples.apps.nowinandroid.core.data.repository.emptyUserData import com.google.samples.apps.nowinandroid.core.model.data.NewsResource import com.google.samples.apps.nowinandroid.core.model.data.Topic import com.google.samples.apps.nowinandroid.core.model.data.mapToUserNewsResources -import com.google.samples.apps.nowinandroid.core.testing.repository.TestNewsRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.emptyUserData import kotlinx.coroutines.flow.first import kotlinx.coroutines.test.runTest import kotlinx.datetime.Instant diff --git a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepositoryTest.kt b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepositoryTest.kt index 358836610..966f157ed 100644 --- a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepositoryTest.kt +++ b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepositoryTest.kt @@ -32,12 +32,12 @@ import com.google.samples.apps.nowinandroid.core.database.model.PopulatedNewsRes import com.google.samples.apps.nowinandroid.core.database.model.TopicEntity import com.google.samples.apps.nowinandroid.core.database.model.asExternalModel import com.google.samples.apps.nowinandroid.core.datastore.NiaPreferencesDataSource -import com.google.samples.apps.nowinandroid.core.datastore.testUserPreferencesDataStore +import com.google.samples.apps.nowinandroid.core.datastore.di.testUserPreferencesDataStore import com.google.samples.apps.nowinandroid.core.model.data.NewsResource import com.google.samples.apps.nowinandroid.core.model.data.Topic import com.google.samples.apps.nowinandroid.core.network.model.NetworkChangeList import com.google.samples.apps.nowinandroid.core.network.model.NetworkNewsResource -import com.google.samples.apps.nowinandroid.core.testing.notifications.TestNotifier +import com.google.samples.apps.nowinandroid.core.notifications.TestNotifier import kotlinx.coroutines.flow.first import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.UnconfinedTestDispatcher diff --git a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstTopicsRepositoryTest.kt b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstTopicsRepositoryTest.kt index 3ba095b81..0be0a9a3b 100644 --- a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstTopicsRepositoryTest.kt +++ b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstTopicsRepositoryTest.kt @@ -25,7 +25,7 @@ import com.google.samples.apps.nowinandroid.core.database.dao.TopicDao import com.google.samples.apps.nowinandroid.core.database.model.TopicEntity import com.google.samples.apps.nowinandroid.core.database.model.asExternalModel import com.google.samples.apps.nowinandroid.core.datastore.NiaPreferencesDataSource -import com.google.samples.apps.nowinandroid.core.datastore.testUserPreferencesDataStore +import com.google.samples.apps.nowinandroid.core.datastore.di.testUserPreferencesDataStore import com.google.samples.apps.nowinandroid.core.model.data.Topic import com.google.samples.apps.nowinandroid.core.network.model.NetworkTopic import kotlinx.coroutines.flow.first diff --git a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstUserDataRepositoryTest.kt b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstUserDataRepositoryTest.kt index 7f6deedeb..3738b2ca8 100644 --- a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstUserDataRepositoryTest.kt +++ b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstUserDataRepositoryTest.kt @@ -18,7 +18,7 @@ package com.google.samples.apps.nowinandroid.core.data.repository import com.google.samples.apps.nowinandroid.core.analytics.NoOpAnalyticsHelper import com.google.samples.apps.nowinandroid.core.datastore.NiaPreferencesDataSource -import com.google.samples.apps.nowinandroid.core.datastore.testUserPreferencesDataStore +import com.google.samples.apps.nowinandroid.core.datastore.di.testUserPreferencesDataStore import com.google.samples.apps.nowinandroid.core.model.data.DarkThemeConfig import com.google.samples.apps.nowinandroid.core.model.data.ThemeBrand import com.google.samples.apps.nowinandroid.core.model.data.UserData diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestNewsRepository.kt b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestNewsRepository.kt similarity index 90% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestNewsRepository.kt rename to core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestNewsRepository.kt index ef065a9f8..2e70b484b 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestNewsRepository.kt +++ b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestNewsRepository.kt @@ -14,11 +14,9 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.testing.repository +package com.google.samples.apps.nowinandroid.core.data.repository import com.google.samples.apps.nowinandroid.core.data.Synchronizer -import com.google.samples.apps.nowinandroid.core.data.repository.NewsRepository -import com.google.samples.apps.nowinandroid.core.data.repository.NewsResourceQuery import com.google.samples.apps.nowinandroid.core.model.data.NewsResource import com.google.samples.apps.nowinandroid.core.model.data.Topic import kotlinx.coroutines.channels.BufferOverflow diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestRecentSearchRepository.kt similarity index 89% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt rename to core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestRecentSearchRepository.kt index f700bdc31..740ae86ad 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestRecentSearchRepository.kt +++ b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestRecentSearchRepository.kt @@ -14,10 +14,9 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.testing.repository +package com.google.samples.apps.nowinandroid.core.data.repository import com.google.samples.apps.nowinandroid.core.data.model.RecentSearchQuery -import com.google.samples.apps.nowinandroid.core.data.repository.RecentSearchRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flowOf diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestSearchContentsRepository.kt b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestSearchContentsRepository.kt similarity index 93% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestSearchContentsRepository.kt rename to core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestSearchContentsRepository.kt index 5436cd10f..3b9d95ea7 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestSearchContentsRepository.kt +++ b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestSearchContentsRepository.kt @@ -14,9 +14,8 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.testing.repository +package com.google.samples.apps.nowinandroid.core.data.repository -import com.google.samples.apps.nowinandroid.core.data.repository.SearchContentsRepository import com.google.samples.apps.nowinandroid.core.model.data.NewsResource import com.google.samples.apps.nowinandroid.core.model.data.SearchResult import com.google.samples.apps.nowinandroid.core.model.data.Topic diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestTopicsRepository.kt b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestTopicsRepository.kt similarity index 91% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestTopicsRepository.kt rename to core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestTopicsRepository.kt index ddccbbe35..52e034e09 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestTopicsRepository.kt +++ b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestTopicsRepository.kt @@ -14,10 +14,9 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.testing.repository +package com.google.samples.apps.nowinandroid.core.data.repository import com.google.samples.apps.nowinandroid.core.data.Synchronizer -import com.google.samples.apps.nowinandroid.core.data.repository.TopicsRepository import com.google.samples.apps.nowinandroid.core.model.data.Topic import kotlinx.coroutines.channels.BufferOverflow import kotlinx.coroutines.flow.Flow diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestUserDataRepository.kt b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestUserDataRepository.kt similarity index 96% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestUserDataRepository.kt rename to core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestUserDataRepository.kt index be76112dc..92eb21bc3 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestUserDataRepository.kt +++ b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/TestUserDataRepository.kt @@ -14,9 +14,8 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.testing.repository +package com.google.samples.apps.nowinandroid.core.data.repository -import com.google.samples.apps.nowinandroid.core.data.repository.UserDataRepository import com.google.samples.apps.nowinandroid.core.model.data.DarkThemeConfig import com.google.samples.apps.nowinandroid.core.model.data.ThemeBrand import com.google.samples.apps.nowinandroid.core.model.data.UserData diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util/TestNetworkMonitor.kt b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TestNetworkMonitor.kt similarity index 88% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util/TestNetworkMonitor.kt rename to core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TestNetworkMonitor.kt index ef4b06b8a..6b907e6e1 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util/TestNetworkMonitor.kt +++ b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TestNetworkMonitor.kt @@ -14,9 +14,8 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.testing.util +package com.google.samples.apps.nowinandroid.core.data.util -import com.google.samples.apps.nowinandroid.core.data.util.NetworkMonitor import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util/TestSyncManager.kt b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TestSyncManager.kt similarity index 89% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util/TestSyncManager.kt rename to core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TestSyncManager.kt index ff1e2fdd9..5bab2cafe 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util/TestSyncManager.kt +++ b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TestSyncManager.kt @@ -14,9 +14,8 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.testing.util +package com.google.samples.apps.nowinandroid.core.data.util -import com.google.samples.apps.nowinandroid.core.data.util.SyncManager import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util/TestTimeZoneMonitor.kt b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TestTimeZoneMonitor.kt similarity index 89% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util/TestTimeZoneMonitor.kt rename to core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TestTimeZoneMonitor.kt index cc71ab2ca..7169243f8 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/util/TestTimeZoneMonitor.kt +++ b/core/data/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/data/util/TestTimeZoneMonitor.kt @@ -14,9 +14,8 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.testing.util +package com.google.samples.apps.nowinandroid.core.data.util -import com.google.samples.apps.nowinandroid.core.data.util.TimeZoneMonitor import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.datetime.TimeZone diff --git a/core/datastore/src/test/kotlin/com/google/samples/apps/nowinandroid/core/datastore/NiaPreferencesDataSourceTest.kt b/core/datastore/src/test/kotlin/com/google/samples/apps/nowinandroid/core/datastore/NiaPreferencesDataSourceTest.kt index db8785694..04335d833 100644 --- a/core/datastore/src/test/kotlin/com/google/samples/apps/nowinandroid/core/datastore/NiaPreferencesDataSourceTest.kt +++ b/core/datastore/src/test/kotlin/com/google/samples/apps/nowinandroid/core/datastore/NiaPreferencesDataSourceTest.kt @@ -16,6 +16,7 @@ package com.google.samples.apps.nowinandroid.core.datastore +import com.google.samples.apps.nowinandroid.core.datastore.di.testUserPreferencesDataStore import kotlinx.coroutines.flow.first import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.UnconfinedTestDispatcher diff --git a/core/datastore/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/datastore/TestDataStoreModule.kt b/core/datastore/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/datastore/di/TestDataStoreModule.kt similarity index 88% rename from core/datastore/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/datastore/TestDataStoreModule.kt rename to core/datastore/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/datastore/di/TestDataStoreModule.kt index fd069de5d..2dc673d0d 100644 --- a/core/datastore/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/datastore/TestDataStoreModule.kt +++ b/core/datastore/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/datastore/di/TestDataStoreModule.kt @@ -14,11 +14,12 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.datastore +package com.google.samples.apps.nowinandroid.core.datastore.di import androidx.datastore.core.DataStore import androidx.datastore.core.DataStoreFactory -import com.google.samples.apps.nowinandroid.core.datastore.di.DataStoreModule +import com.google.samples.apps.nowinandroid.core.datastore.UserPreferences +import com.google.samples.apps.nowinandroid.core.datastore.UserPreferencesSerializer import com.google.samples.apps.nowinandroid.core.network.di.ApplicationScope import dagger.Module import dagger.Provides @@ -33,7 +34,7 @@ import javax.inject.Singleton components = [SingletonComponent::class], replaces = [DataStoreModule::class], ) -internal object TestDataStoreModule { +object TestDataStoreModule { @Provides @Singleton diff --git a/core/domain/build.gradle.kts b/core/domain/build.gradle.kts index 191877459..27c496e2d 100644 --- a/core/domain/build.gradle.kts +++ b/core/domain/build.gradle.kts @@ -30,4 +30,5 @@ dependencies { implementation(libs.javax.inject) testImplementation(projects.core.testing) + testImplementation(testFixtures(projects.core.data)) } \ No newline at end of file diff --git a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt index 42a31f858..76b94aa37 100644 --- a/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt +++ b/core/domain/src/test/kotlin/com/google/samples/apps/nowinandroid/core/domain/GetFollowableTopicsUseCaseTest.kt @@ -16,11 +16,11 @@ package com.google.samples.apps.nowinandroid.core.domain +import com.google.samples.apps.nowinandroid.core.data.repository.TestTopicsRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestUserDataRepository import com.google.samples.apps.nowinandroid.core.domain.TopicSortField.NAME import com.google.samples.apps.nowinandroid.core.model.data.FollowableTopic import com.google.samples.apps.nowinandroid.core.model.data.Topic -import com.google.samples.apps.nowinandroid.core.testing.repository.TestTopicsRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule import kotlinx.coroutines.flow.first import kotlinx.coroutines.test.runTest diff --git a/core/model/build.gradle.kts b/core/model/build.gradle.kts index 5d6cabfdf..f9c645fca 100644 --- a/core/model/build.gradle.kts +++ b/core/model/build.gradle.kts @@ -16,6 +16,7 @@ plugins { alias(libs.plugins.nowinandroid.jvm.library) + `java-test-fixtures` } dependencies { diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/FollowableTopicTestData.kt b/core/model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/FollowableTopicFixtures.kt similarity index 93% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/FollowableTopicTestData.kt rename to core/model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/FollowableTopicFixtures.kt index 9b85516e7..5552389df 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/FollowableTopicTestData.kt +++ b/core/model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/FollowableTopicFixtures.kt @@ -16,10 +16,7 @@ @file:Suppress("ktlint:standard:max-line-length") -package com.google.samples.apps.nowinandroid.core.testing.data - -import com.google.samples.apps.nowinandroid.core.model.data.FollowableTopic -import com.google.samples.apps.nowinandroid.core.model.data.Topic +package com.google.samples.apps.nowinandroid.core.model.data val followableTopicTestData: List = listOf( FollowableTopic( diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/NewsResourcesTestData.kt b/core/model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/NewsResourceFixtures.kt similarity index 96% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/NewsResourcesTestData.kt rename to core/model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/NewsResourceFixtures.kt index b3fff7ca0..f4ad4e2d1 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/NewsResourcesTestData.kt +++ b/core/model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/NewsResourceFixtures.kt @@ -16,9 +16,8 @@ @file:Suppress("ktlint:standard:max-line-length") -package com.google.samples.apps.nowinandroid.core.testing.data +package com.google.samples.apps.nowinandroid.core.model.data -import com.google.samples.apps.nowinandroid.core.model.data.NewsResource import kotlinx.datetime.Instant val newsResourcesTestData: List = listOf( diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/TopicsTestData.kt b/core/model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/TopicFixtures.kt similarity index 95% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/TopicsTestData.kt rename to core/model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/TopicFixtures.kt index fc6ef62a6..37a0c96ba 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/TopicsTestData.kt +++ b/core/model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/TopicFixtures.kt @@ -16,9 +16,7 @@ @file:Suppress("ktlint:standard:max-line-length") -package com.google.samples.apps.nowinandroid.core.testing.data - -import com.google.samples.apps.nowinandroid.core.model.data.Topic +package com.google.samples.apps.nowinandroid.core.model.data val topicsTestData: List = listOf( Topic( diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/UserNewsResourcesTestData.kt b/core/model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/UserNewsResourceFixtures.kt similarity index 92% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/UserNewsResourcesTestData.kt rename to core/model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/UserNewsResourceFixtures.kt index 4174391df..56e25f271 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/data/UserNewsResourcesTestData.kt +++ b/core/model/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/model/data/UserNewsResourceFixtures.kt @@ -16,13 +16,8 @@ @file:Suppress("ktlint:standard:max-line-length") -package com.google.samples.apps.nowinandroid.core.testing.data +package com.google.samples.apps.nowinandroid.core.model.data -import com.google.samples.apps.nowinandroid.core.model.data.DarkThemeConfig -import com.google.samples.apps.nowinandroid.core.model.data.NewsResource -import com.google.samples.apps.nowinandroid.core.model.data.ThemeBrand -import com.google.samples.apps.nowinandroid.core.model.data.UserData -import com.google.samples.apps.nowinandroid.core.model.data.UserNewsResource import kotlinx.datetime.Instant import kotlinx.datetime.LocalDateTime import kotlinx.datetime.TimeZone diff --git a/core/notifications/build.gradle.kts b/core/notifications/build.gradle.kts index 92871b72b..616c03ce9 100644 --- a/core/notifications/build.gradle.kts +++ b/core/notifications/build.gradle.kts @@ -20,6 +20,7 @@ plugins { android { namespace = "com.google.samples.apps.nowinandroid.core.notifications" + testFixtures.enable = true } dependencies { diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/notifications/TestNotifier.kt b/core/notifications/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/notifications/TestNotifier.kt similarity index 88% rename from core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/notifications/TestNotifier.kt rename to core/notifications/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/notifications/TestNotifier.kt index d57c4ed75..5372610ab 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/notifications/TestNotifier.kt +++ b/core/notifications/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/notifications/TestNotifier.kt @@ -14,10 +14,9 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.testing.notifications +package com.google.samples.apps.nowinandroid.core.notifications import com.google.samples.apps.nowinandroid.core.model.data.NewsResource -import com.google.samples.apps.nowinandroid.core.notifications.Notifier /** * Aggregates news resources that have been notified for addition diff --git a/core/ui/build.gradle.kts b/core/ui/build.gradle.kts index 5d8a65d44..944ac151a 100644 --- a/core/ui/build.gradle.kts +++ b/core/ui/build.gradle.kts @@ -37,4 +37,5 @@ dependencies { implementation(libs.coil.kt.compose) androidTestImplementation(projects.core.testing) + androidTestImplementation(testFixtures(projects.core.model)) } diff --git a/core/ui/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardTest.kt b/core/ui/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardTest.kt index d0a124316..76b785368 100644 --- a/core/ui/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardTest.kt +++ b/core/ui/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardTest.kt @@ -22,8 +22,8 @@ import androidx.compose.ui.test.assertIsDisplayed import androidx.compose.ui.test.junit4.createAndroidComposeRule import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.onNodeWithText -import com.google.samples.apps.nowinandroid.core.testing.data.followableTopicTestData -import com.google.samples.apps.nowinandroid.core.testing.data.userNewsResourcesTestData +import com.google.samples.apps.nowinandroid.core.model.data.followableTopicTestData +import com.google.samples.apps.nowinandroid.core.model.data.userNewsResourcesTestData import org.junit.Rule import org.junit.Test diff --git a/feature/bookmarks/build.gradle.kts b/feature/bookmarks/build.gradle.kts index 4e97176a2..376324ba0 100644 --- a/feature/bookmarks/build.gradle.kts +++ b/feature/bookmarks/build.gradle.kts @@ -28,6 +28,9 @@ dependencies { implementation(projects.core.data) testImplementation(projects.core.testing) + testImplementation(testFixtures(projects.core.data)) + testImplementation(testFixtures(projects.core.model)) androidTestImplementation(projects.core.testing) + androidTestImplementation(testFixtures(projects.core.model)) } diff --git a/feature/bookmarks/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt b/feature/bookmarks/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt index 40f54e4a7..637554cde 100644 --- a/feature/bookmarks/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt +++ b/feature/bookmarks/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreenTest.kt @@ -34,7 +34,7 @@ import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performScrollToNode import androidx.lifecycle.Lifecycle import androidx.lifecycle.testing.TestLifecycleOwner -import com.google.samples.apps.nowinandroid.core.testing.data.userNewsResourcesTestData +import com.google.samples.apps.nowinandroid.core.model.data.userNewsResourcesTestData import com.google.samples.apps.nowinandroid.core.ui.NewsFeedUiState import kotlinx.coroutines.test.runTest import org.junit.Rule diff --git a/feature/bookmarks/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksViewModelTest.kt b/feature/bookmarks/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksViewModelTest.kt index 037e9db64..a33ca44ff 100644 --- a/feature/bookmarks/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksViewModelTest.kt +++ b/feature/bookmarks/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksViewModelTest.kt @@ -17,9 +17,9 @@ package com.google.samples.apps.nowinandroid.feature.bookmarks import com.google.samples.apps.nowinandroid.core.data.repository.CompositeUserNewsResourceRepository -import com.google.samples.apps.nowinandroid.core.testing.data.newsResourcesTestData -import com.google.samples.apps.nowinandroid.core.testing.repository.TestNewsRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestNewsRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestUserDataRepository +import com.google.samples.apps.nowinandroid.core.model.data.newsResourcesTestData import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule import com.google.samples.apps.nowinandroid.core.ui.NewsFeedUiState.Loading import com.google.samples.apps.nowinandroid.core.ui.NewsFeedUiState.Success diff --git a/feature/foryou/build.gradle.kts b/feature/foryou/build.gradle.kts index fd41d9a13..91e2f5b4f 100644 --- a/feature/foryou/build.gradle.kts +++ b/feature/foryou/build.gradle.kts @@ -34,7 +34,10 @@ dependencies { testImplementation(libs.robolectric) testImplementation(projects.core.testing) testImplementation(projects.core.screenshotTesting) + testImplementation(testFixtures(projects.core.data)) + testImplementation(testFixtures(projects.core.analytics)) testDemoImplementation(libs.roborazzi) androidTestImplementation(projects.core.testing) + androidTestImplementation(testFixtures(projects.core.model)) } diff --git a/feature/foryou/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreenTest.kt b/feature/foryou/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreenTest.kt index 5477493ef..895acd6e4 100644 --- a/feature/foryou/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreenTest.kt +++ b/feature/foryou/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreenTest.kt @@ -28,9 +28,9 @@ import androidx.compose.ui.test.onFirst import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performScrollToNode +import com.google.samples.apps.nowinandroid.core.model.data.followableTopicTestData +import com.google.samples.apps.nowinandroid.core.model.data.userNewsResourcesTestData import com.google.samples.apps.nowinandroid.core.rules.GrantPostNotificationsPermissionRule -import com.google.samples.apps.nowinandroid.core.testing.data.followableTopicTestData -import com.google.samples.apps.nowinandroid.core.testing.data.userNewsResourcesTestData import com.google.samples.apps.nowinandroid.core.ui.NewsFeedUiState import org.junit.Rule import org.junit.Test diff --git a/feature/foryou/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/foryou/ForYouViewModelTest.kt b/feature/foryou/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/foryou/ForYouViewModelTest.kt index 2fbdf0a79..85d120515 100644 --- a/feature/foryou/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/foryou/ForYouViewModelTest.kt +++ b/feature/foryou/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/foryou/ForYouViewModelTest.kt @@ -19,20 +19,20 @@ package com.google.samples.apps.nowinandroid.feature.foryou import androidx.lifecycle.SavedStateHandle import com.google.samples.apps.nowinandroid.core.analytics.AnalyticsEvent import com.google.samples.apps.nowinandroid.core.analytics.AnalyticsEvent.Param +import com.google.samples.apps.nowinandroid.core.analytics.TestAnalyticsHelper import com.google.samples.apps.nowinandroid.core.data.repository.CompositeUserNewsResourceRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestNewsRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestTopicsRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestUserDataRepository +import com.google.samples.apps.nowinandroid.core.data.repository.emptyUserData +import com.google.samples.apps.nowinandroid.core.data.util.TestSyncManager import com.google.samples.apps.nowinandroid.core.domain.GetFollowableTopicsUseCase import com.google.samples.apps.nowinandroid.core.model.data.FollowableTopic import com.google.samples.apps.nowinandroid.core.model.data.NewsResource import com.google.samples.apps.nowinandroid.core.model.data.Topic import com.google.samples.apps.nowinandroid.core.model.data.UserNewsResource import com.google.samples.apps.nowinandroid.core.model.data.mapToUserNewsResources -import com.google.samples.apps.nowinandroid.core.testing.repository.TestNewsRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.TestTopicsRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.emptyUserData import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule -import com.google.samples.apps.nowinandroid.core.testing.util.TestAnalyticsHelper -import com.google.samples.apps.nowinandroid.core.testing.util.TestSyncManager import com.google.samples.apps.nowinandroid.core.ui.NewsFeedUiState import com.google.samples.apps.nowinandroid.feature.foryou.navigation.LINKED_NEWS_RESOURCE_ID import kotlinx.coroutines.flow.collect diff --git a/feature/interests/build.gradle.kts b/feature/interests/build.gradle.kts index ee6aaf122..8439a310c 100644 --- a/feature/interests/build.gradle.kts +++ b/feature/interests/build.gradle.kts @@ -28,6 +28,8 @@ dependencies { implementation(projects.core.domain) testImplementation(projects.core.testing) + testImplementation(testFixtures(projects.core.data)) androidTestImplementation(projects.core.testing) + androidTestImplementation(testFixtures(projects.core.model)) } diff --git a/feature/interests/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/interests/InterestsScreenTest.kt b/feature/interests/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/interests/InterestsScreenTest.kt index a441f5a9d..5935136f1 100644 --- a/feature/interests/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/interests/InterestsScreenTest.kt +++ b/feature/interests/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/interests/InterestsScreenTest.kt @@ -24,7 +24,7 @@ import androidx.compose.ui.test.junit4.createAndroidComposeRule import androidx.compose.ui.test.onAllNodesWithContentDescription import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.onNodeWithText -import com.google.samples.apps.nowinandroid.core.testing.data.followableTopicTestData +import com.google.samples.apps.nowinandroid.core.model.data.followableTopicTestData import com.google.samples.apps.nowinandroid.feature.interests.InterestsScreen import com.google.samples.apps.nowinandroid.feature.interests.InterestsUiState import org.junit.Before diff --git a/feature/interests/src/test/kotlin/com/google/samples/apps/nowinandroid/interests/InterestsViewModelTest.kt b/feature/interests/src/test/kotlin/com/google/samples/apps/nowinandroid/interests/InterestsViewModelTest.kt index 63d3c49b7..01534f309 100644 --- a/feature/interests/src/test/kotlin/com/google/samples/apps/nowinandroid/interests/InterestsViewModelTest.kt +++ b/feature/interests/src/test/kotlin/com/google/samples/apps/nowinandroid/interests/InterestsViewModelTest.kt @@ -17,11 +17,11 @@ package com.google.samples.apps.nowinandroid.interests import androidx.lifecycle.SavedStateHandle +import com.google.samples.apps.nowinandroid.core.data.repository.TestTopicsRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestUserDataRepository import com.google.samples.apps.nowinandroid.core.domain.GetFollowableTopicsUseCase import com.google.samples.apps.nowinandroid.core.model.data.FollowableTopic import com.google.samples.apps.nowinandroid.core.model.data.Topic -import com.google.samples.apps.nowinandroid.core.testing.repository.TestTopicsRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule import com.google.samples.apps.nowinandroid.feature.interests.InterestsUiState import com.google.samples.apps.nowinandroid.feature.interests.InterestsViewModel diff --git a/feature/search/build.gradle.kts b/feature/search/build.gradle.kts index 98052e9ab..f694c3b76 100644 --- a/feature/search/build.gradle.kts +++ b/feature/search/build.gradle.kts @@ -30,7 +30,10 @@ dependencies { implementation(projects.core.ui) testImplementation(projects.core.testing) + testImplementation(testFixtures(projects.core.data)) + testImplementation(testFixtures(projects.core.model)) androidTestImplementation(projects.core.testing) + androidTestImplementation(testFixtures(projects.core.model)) } diff --git a/feature/search/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/search/SearchScreenTest.kt b/feature/search/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/search/SearchScreenTest.kt index a9e2fa98f..a4db6332e 100644 --- a/feature/search/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/search/SearchScreenTest.kt +++ b/feature/search/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/search/SearchScreenTest.kt @@ -33,8 +33,8 @@ import com.google.samples.apps.nowinandroid.core.model.data.DarkThemeConfig.DARK import com.google.samples.apps.nowinandroid.core.model.data.ThemeBrand.ANDROID import com.google.samples.apps.nowinandroid.core.model.data.UserData import com.google.samples.apps.nowinandroid.core.model.data.UserNewsResource -import com.google.samples.apps.nowinandroid.core.testing.data.followableTopicTestData -import com.google.samples.apps.nowinandroid.core.testing.data.newsResourcesTestData +import com.google.samples.apps.nowinandroid.core.model.data.followableTopicTestData +import com.google.samples.apps.nowinandroid.core.model.data.newsResourcesTestData import com.google.samples.apps.nowinandroid.core.ui.R.string import org.junit.Before import org.junit.Rule diff --git a/feature/search/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/search/SearchViewModelTest.kt b/feature/search/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/search/SearchViewModelTest.kt index c832401de..631c666fe 100644 --- a/feature/search/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/search/SearchViewModelTest.kt +++ b/feature/search/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/search/SearchViewModelTest.kt @@ -18,14 +18,14 @@ package com.google.samples.apps.nowinandroid.feature.search import androidx.lifecycle.SavedStateHandle import com.google.samples.apps.nowinandroid.core.analytics.NoOpAnalyticsHelper +import com.google.samples.apps.nowinandroid.core.data.repository.TestRecentSearchRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestSearchContentsRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestUserDataRepository +import com.google.samples.apps.nowinandroid.core.data.repository.emptyUserData import com.google.samples.apps.nowinandroid.core.domain.GetRecentSearchQueriesUseCase import com.google.samples.apps.nowinandroid.core.domain.GetSearchContentsUseCase -import com.google.samples.apps.nowinandroid.core.testing.data.newsResourcesTestData -import com.google.samples.apps.nowinandroid.core.testing.data.topicsTestData -import com.google.samples.apps.nowinandroid.core.testing.repository.TestRecentSearchRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.TestSearchContentsRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.emptyUserData +import com.google.samples.apps.nowinandroid.core.model.data.newsResourcesTestData +import com.google.samples.apps.nowinandroid.core.model.data.topicsTestData import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule import com.google.samples.apps.nowinandroid.feature.search.RecentSearchQueriesUiState.Success import com.google.samples.apps.nowinandroid.feature.search.SearchResultUiState.EmptyQuery diff --git a/feature/settings/build.gradle.kts b/feature/settings/build.gradle.kts index 4b9a72bdd..563cba662 100644 --- a/feature/settings/build.gradle.kts +++ b/feature/settings/build.gradle.kts @@ -30,6 +30,7 @@ dependencies { implementation(projects.core.data) testImplementation(projects.core.testing) + testImplementation(testFixtures(projects.core.data)) androidTestImplementation(projects.core.testing) } diff --git a/feature/settings/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/settings/SettingsViewModelTest.kt b/feature/settings/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/settings/SettingsViewModelTest.kt index 9062abee6..25e9d6f99 100644 --- a/feature/settings/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/settings/SettingsViewModelTest.kt +++ b/feature/settings/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/settings/SettingsViewModelTest.kt @@ -16,9 +16,9 @@ package com.google.samples.apps.nowinandroid.feature.settings +import com.google.samples.apps.nowinandroid.core.data.repository.TestUserDataRepository import com.google.samples.apps.nowinandroid.core.model.data.DarkThemeConfig.DARK import com.google.samples.apps.nowinandroid.core.model.data.ThemeBrand.ANDROID -import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule import com.google.samples.apps.nowinandroid.feature.settings.SettingsUiState.Loading import com.google.samples.apps.nowinandroid.feature.settings.SettingsUiState.Success diff --git a/feature/topic/build.gradle.kts b/feature/topic/build.gradle.kts index d457b2f73..9fd3daaac 100644 --- a/feature/topic/build.gradle.kts +++ b/feature/topic/build.gradle.kts @@ -28,6 +28,8 @@ dependencies { implementation(projects.core.data) testImplementation(projects.core.testing) + testImplementation(testFixtures(projects.core.data)) androidTestImplementation(projects.core.testing) + androidTestImplementation(testFixtures(projects.core.model)) } \ No newline at end of file diff --git a/feature/topic/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicScreenTest.kt b/feature/topic/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicScreenTest.kt index 2b87baf9e..f2e661fd3 100644 --- a/feature/topic/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicScreenTest.kt +++ b/feature/topic/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicScreenTest.kt @@ -24,8 +24,8 @@ import androidx.compose.ui.test.onFirst import androidx.compose.ui.test.onNodeWithContentDescription import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performScrollToNode -import com.google.samples.apps.nowinandroid.core.testing.data.followableTopicTestData -import com.google.samples.apps.nowinandroid.core.testing.data.userNewsResourcesTestData +import com.google.samples.apps.nowinandroid.core.model.data.followableTopicTestData +import com.google.samples.apps.nowinandroid.core.model.data.userNewsResourcesTestData import org.junit.Before import org.junit.Rule import org.junit.Test diff --git a/feature/topic/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicViewModelTest.kt b/feature/topic/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicViewModelTest.kt index 565732f59..fd42aa880 100644 --- a/feature/topic/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicViewModelTest.kt +++ b/feature/topic/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicViewModelTest.kt @@ -18,12 +18,12 @@ package com.google.samples.apps.nowinandroid.feature.topic import androidx.lifecycle.SavedStateHandle import com.google.samples.apps.nowinandroid.core.data.repository.CompositeUserNewsResourceRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestNewsRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestTopicsRepository +import com.google.samples.apps.nowinandroid.core.data.repository.TestUserDataRepository import com.google.samples.apps.nowinandroid.core.model.data.FollowableTopic import com.google.samples.apps.nowinandroid.core.model.data.NewsResource import com.google.samples.apps.nowinandroid.core.model.data.Topic -import com.google.samples.apps.nowinandroid.core.testing.repository.TestNewsRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.TestTopicsRepository -import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule import com.google.samples.apps.nowinandroid.feature.topic.navigation.TOPIC_ID_ARG import kotlinx.coroutines.flow.collect