Add Testcase to verify 'viewedNewsResources'

pull/1320/head
yongsuk44 2 years ago
parent 9c4ec4d2d9
commit 8d008fba53

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

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

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

Loading…
Cancel
Save