From e789c943c38d4ab96384e7153392a64623a6e2f4 Mon Sep 17 00:00:00 2001 From: Don Turner Date: Thu, 5 Jan 2023 19:22:01 +0000 Subject: [PATCH 1/2] Fix UI tests Change-Id: Ie42077d20523c28a61c75bccfdc11d8a34d8a8a9 --- .../feature/topic/TopicScreenTest.kt | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/feature/topic/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreenTest.kt b/feature/topic/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreenTest.kt index 6e94aba9d..a7514ea63 100644 --- a/feature/topic/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreenTest.kt +++ b/feature/topic/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreenTest.kt @@ -26,8 +26,11 @@ import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performScrollToNode import com.google.samples.apps.nowinandroid.core.domain.model.FollowableTopic import com.google.samples.apps.nowinandroid.core.domain.model.UserNewsResource +import com.google.samples.apps.nowinandroid.core.model.data.NewsResource import com.google.samples.apps.nowinandroid.core.model.data.NewsResourceType.Video import com.google.samples.apps.nowinandroid.core.model.data.Topic +import com.google.samples.apps.nowinandroid.core.model.data.UserData +import com.google.samples.apps.nowinandroid.core.testing.repository.emptyUserData import kotlinx.datetime.Instant import org.junit.Before import org.junit.Rule @@ -177,29 +180,27 @@ private val testTopics = listOf( private val sampleUserNewsResources = listOf( UserNewsResource( - id = "1", - title = "Thanks for helping us reach 1M YouTube Subscribers", - content = "Thank you everyone for following the Now in Android series and everything the " + - "Android Developers YouTube channel has to offer. During the Android Developer " + - "Summit, our YouTube channel reached 1 million subscribers! Here’s a small video to " + - "thank you all.", - url = "https://youtu.be/-fJ6poHQrjM", - headerImageUrl = "https://i.ytimg.com/vi/-fJ6poHQrjM/maxresdefault.jpg", - publishDate = Instant.parse("2021-11-09T00:00:00.000Z"), - type = Video, - followableTopics = listOf( - FollowableTopic( - topic = Topic( + newsResource = + NewsResource( + id = "1", + title = "Thanks for helping us reach 1M YouTube Subscribers", + content = "Thank you everyone for following the Now in Android series and everything the " + + "Android Developers YouTube channel has to offer. During the Android Developer " + + "Summit, our YouTube channel reached 1 million subscribers! Here’s a small video to " + + "thank you all.", + url = "https://youtu.be/-fJ6poHQrjM", + headerImageUrl = "https://i.ytimg.com/vi/-fJ6poHQrjM/maxresdefault.jpg", + publishDate = Instant.parse("2021-11-09T00:00:00.000Z"), + type = Video, + topics = listOf (Topic( id = "0", name = "Headlines", shortDescription = "", longDescription = TOPIC_DESC, url = "", imageUrl = "" - ), - isFollowed = false - ) - ), - isSaved = true + )) + ), + userData = emptyUserData.copy(bookmarkedNewsResources = setOf("1")) ) ) From 44c01135b90ce4ef70ac3f1166ef9682c3369108 Mon Sep 17 00:00:00 2001 From: Don Turner Date: Thu, 5 Jan 2023 19:28:10 +0000 Subject: [PATCH 2/2] fix spotless, tidy test data Change-Id: I4ceb7b85e5a8dd4d4f20088b2594c6b4030299bb --- .../domain/GetUserNewsResourcesUseCaseTest.kt | 22 +++---------- .../core/ui/NewsResourceCardTest.kt | 2 +- .../feature/topic/TopicScreenTest.kt | 31 ++++++++++--------- 3 files changed, 22 insertions(+), 33 deletions(-) diff --git a/core/domain/src/test/java/com/google/samples/apps/nowinandroid/core/domain/GetUserNewsResourcesUseCaseTest.kt b/core/domain/src/test/java/com/google/samples/apps/nowinandroid/core/domain/GetUserNewsResourcesUseCaseTest.kt index 61eab3ba8..11e46e41d 100644 --- a/core/domain/src/test/java/com/google/samples/apps/nowinandroid/core/domain/GetUserNewsResourcesUseCaseTest.kt +++ b/core/domain/src/test/java/com/google/samples/apps/nowinandroid/core/domain/GetUserNewsResourcesUseCaseTest.kt @@ -17,14 +17,12 @@ package com.google.samples.apps.nowinandroid.core.domain import com.google.samples.apps.nowinandroid.core.domain.model.UserNewsResource -import com.google.samples.apps.nowinandroid.core.model.data.DarkThemeConfig.FOLLOW_SYSTEM import com.google.samples.apps.nowinandroid.core.model.data.NewsResource import com.google.samples.apps.nowinandroid.core.model.data.NewsResourceType.Video -import com.google.samples.apps.nowinandroid.core.model.data.ThemeBrand.DEFAULT import com.google.samples.apps.nowinandroid.core.model.data.Topic -import com.google.samples.apps.nowinandroid.core.model.data.UserData 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 com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule import kotlin.test.assertEquals import kotlinx.coroutines.flow.first @@ -53,12 +51,9 @@ class GetUserNewsResourcesUseCaseTest { newsRepository.sendNewsResources(sampleNewsResources) // Construct the test user data with bookmarks and followed topics. - val userData = UserData( + val userData = emptyUserData.copy( bookmarkedNewsResources = setOf(sampleNewsResources[0].id, sampleNewsResources[2].id), - followedTopics = setOf(sampleTopic1.id), - themeBrand = DEFAULT, - darkThemeConfig = FOLLOW_SYSTEM, - shouldHideOnboarding = false + followedTopics = setOf(sampleTopic1.id) ) userDataRepository.setUserData(userData) @@ -82,21 +77,14 @@ class GetUserNewsResourcesUseCaseTest { // Send test data into the repositories. newsRepository.sendNewsResources(sampleNewsResources) - val userData = UserData( - bookmarkedNewsResources = emptySet(), - followedTopics = emptySet(), - themeBrand = DEFAULT, - darkThemeConfig = FOLLOW_SYSTEM, - shouldHideOnboarding = false - ) - userDataRepository.setUserData(userData) + userDataRepository.setUserData(emptyUserData) // Check that only news resources with the given topic id are returned. assertEquals( sampleNewsResources .filter { it.topics.contains(sampleTopic1) } .map { - UserNewsResource(it, userData) + UserNewsResource(it, emptyUserData) }, userNewsResources.first() ) diff --git a/core/ui/src/androidTest/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardTest.kt b/core/ui/src/androidTest/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardTest.kt index a6db7e08a..6fbe0b0e4 100644 --- a/core/ui/src/androidTest/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardTest.kt +++ b/core/ui/src/androidTest/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardTest.kt @@ -84,7 +84,7 @@ class NewsResourceCardTest { NewsResourceTopics(topics = previewFollowableTopics) } - for(followableTopic in previewFollowableTopics){ + for (followableTopic in previewFollowableTopics) { val topicName = followableTopic.topic.name val expectedContentDescription = if (followableTopic.isFollowed) { "$topicName is followed" diff --git a/feature/topic/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreenTest.kt b/feature/topic/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreenTest.kt index a7514ea63..df9e83315 100644 --- a/feature/topic/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreenTest.kt +++ b/feature/topic/src/androidTest/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreenTest.kt @@ -29,7 +29,6 @@ import com.google.samples.apps.nowinandroid.core.domain.model.UserNewsResource import com.google.samples.apps.nowinandroid.core.model.data.NewsResource import com.google.samples.apps.nowinandroid.core.model.data.NewsResourceType.Video import com.google.samples.apps.nowinandroid.core.model.data.Topic -import com.google.samples.apps.nowinandroid.core.model.data.UserData import com.google.samples.apps.nowinandroid.core.testing.repository.emptyUserData import kotlinx.datetime.Instant import org.junit.Before @@ -181,26 +180,28 @@ private val testTopics = listOf( private val sampleUserNewsResources = listOf( UserNewsResource( newsResource = - NewsResource( - id = "1", - title = "Thanks for helping us reach 1M YouTube Subscribers", - content = "Thank you everyone for following the Now in Android series and everything the " + - "Android Developers YouTube channel has to offer. During the Android Developer " + - "Summit, our YouTube channel reached 1 million subscribers! Here’s a small video to " + - "thank you all.", - url = "https://youtu.be/-fJ6poHQrjM", - headerImageUrl = "https://i.ytimg.com/vi/-fJ6poHQrjM/maxresdefault.jpg", - publishDate = Instant.parse("2021-11-09T00:00:00.000Z"), - type = Video, - topics = listOf (Topic( + NewsResource( + id = "1", + title = "Thanks for helping us reach 1M YouTube Subscribers", + content = "Thank you everyone for following the Now in Android series and" + + " everything the Android Developers YouTube channel has to offer. During the " + + "Android Developer Summit, our YouTube channel reached 1 million subscribers!" + + " Here’s a small video to thank you all.", + url = "https://youtu.be/-fJ6poHQrjM", + headerImageUrl = "https://i.ytimg.com/vi/-fJ6poHQrjM/maxresdefault.jpg", + publishDate = Instant.parse("2021-11-09T00:00:00.000Z"), + type = Video, + topics = listOf( + Topic( id = "0", name = "Headlines", shortDescription = "", longDescription = TOPIC_DESC, url = "", imageUrl = "" - )) - ), + ) + ) + ), userData = emptyUserData.copy(bookmarkedNewsResources = setOf("1")) ) )