diff --git a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestUserDataRepository.kt b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestUserDataRepository.kt index 29611b7f9..f867ff983 100644 --- a/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestUserDataRepository.kt +++ b/core/testing/src/main/kotlin/com/google/samples/apps/nowinandroid/core/testing/repository/TestUserDataRepository.kt @@ -76,16 +76,13 @@ class TestUserDataRepository : UserDataRepository { override suspend fun setNewsResourceViewed(newsResourceId: String, viewed: Boolean) { currentUserData.let { current -> - _userData.tryEmit( - current.copy( - viewedNewsResources = - if (viewed) { - current.viewedNewsResources + newsResourceId - } else { - current.viewedNewsResources - newsResourceId - }, - ), - ) + val viewedNews = if (viewed) { + current.viewedNewsResources + newsResourceId + } else { + current.viewedNewsResources - newsResourceId + } + + _userData.tryEmit(current.copy(viewedNewsResources = viewedNews)) } } 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..90ffbe1a5 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 @@ -524,6 +524,17 @@ class ForYouViewModelTest { actual = userDataRepository.userData.first().bookmarkedNewsResources, ) } + + @Test + fun whenSetNewsResourceViewedIsCalled_viewedStateIsUpdated() = runTest { + val newsResourceId = "123" + viewModel.setNewsResourceViewed(newsResourceId, true) + + assertEquals( + expected = setOf(newsResourceId), + actual = userDataRepository.userData.first().viewedNewsResources, + ) + } } private val sampleTopics = listOf( 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 c43c18078..f757f3c0b 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 @@ -30,7 +30,6 @@ import org.junit.Before import org.junit.Rule import org.junit.Test import kotlin.test.assertEquals -import kotlin.test.assertIs class SettingsViewModelTest {