16
16
17
17
package com.google.samples.apps.nowinandroid.feature.topic
18
18
19
- import androidx.lifecycle.SavedStateHandle
20
- import androidx.navigation.testing.invoke
21
19
import com.google.samples.apps.nowinandroid.core.data.repository.CompositeUserNewsResourceRepository
22
20
import com.google.samples.apps.nowinandroid.core.model.data.FollowableTopic
23
21
import com.google.samples.apps.nowinandroid.core.model.data.NewsResource
@@ -26,7 +24,6 @@ import com.google.samples.apps.nowinandroid.core.testing.repository.TestNewsRepo
26
24
import com.google.samples.apps.nowinandroid.core.testing.repository.TestTopicsRepository
27
25
import com.google.samples.apps.nowinandroid.core.testing.repository.TestUserDataRepository
28
26
import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule
29
- import com.google.samples.apps.nowinandroid.feature.topic.navigation.TopicRoute
30
27
import kotlinx.coroutines.flow.collect
31
28
import kotlinx.coroutines.flow.combine
32
29
import kotlinx.coroutines.flow.first
@@ -37,22 +34,13 @@ import kotlinx.datetime.Instant
37
34
import org.junit.Before
38
35
import org.junit.Rule
39
36
import org.junit.Test
40
- import org.junit.runner.RunWith
41
- import org.robolectric.RobolectricTestRunner
42
37
import kotlin.test.assertEquals
43
38
import kotlin.test.assertIs
44
39
45
40
/* *
46
41
* To learn more about how this test handles Flows created with stateIn, see
47
42
* https://developer.android.com/kotlin/flow/test#statein
48
- *
49
- * These tests use Robolectric because the subject under test (the ViewModel) uses
50
- * `SavedStateHandle.toRoute` which has a dependency on `android.os.Bundle`.
51
- *
52
- * TODO: Remove Robolectric if/when AndroidX Navigation API is updated to remove Android dependency.
53
- * * See b/340966212.
54
43
*/
55
- @RunWith(RobolectricTestRunner ::class )
56
44
class TopicViewModelTest {
57
45
58
46
@get:Rule
@@ -70,12 +58,10 @@ class TopicViewModelTest {
70
58
@Before
71
59
fun setup () {
72
60
viewModel = TopicViewModel (
73
- savedStateHandle = SavedStateHandle (
74
- route = TopicRoute (id = testInputTopics[0 ].topic.id),
75
- ),
76
61
userDataRepository = userDataRepository,
77
62
topicsRepository = topicsRepository,
78
63
userNewsResourceRepository = userNewsResourceRepository,
64
+ topicId = testInputTopics[0 ].topic.id,
79
65
)
80
66
}
81
67
0 commit comments