Extract fixtures from `:core:testing`

pull/1515/head
Simon Marquis 1 year ago
parent 5b2ae9c473
commit 7d852566e3

@ -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)
}

@ -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

@ -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")
}
}

@ -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 {

@ -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)

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -30,4 +30,5 @@ dependencies {
implementation(libs.javax.inject)
testImplementation(projects.core.testing)
testImplementation(testFixtures(projects.core.data))
}

@ -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

@ -16,6 +16,7 @@
plugins {
alias(libs.plugins.nowinandroid.jvm.library)
`java-test-fixtures`
}
dependencies {

@ -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<FollowableTopic> = listOf(
FollowableTopic(

@ -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<NewsResource> = listOf(

@ -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<Topic> = listOf(
Topic(

@ -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

@ -20,6 +20,7 @@ plugins {
android {
namespace = "com.google.samples.apps.nowinandroid.core.notifications"
testFixtures.enable = true
}
dependencies {

@ -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

@ -37,4 +37,5 @@ dependencies {
implementation(libs.coil.kt.compose)
androidTestImplementation(projects.core.testing)
androidTestImplementation(testFixtures(projects.core.model))
}

@ -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

@ -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))
}

@ -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

@ -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

@ -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))
}

@ -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

@ -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

@ -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))
}

@ -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

@ -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

@ -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))
}

@ -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

@ -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

@ -30,6 +30,7 @@ dependencies {
implementation(projects.core.data)
testImplementation(projects.core.testing)
testImplementation(testFixtures(projects.core.data))
androidTestImplementation(projects.core.testing)
}

@ -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

@ -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))
}

@ -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

@ -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

Loading…
Cancel
Save