Skip to content

Commit 811a68c

Browse files
author
deepsandhya
committed
verification added
1 parent 31537d3 commit 811a68c

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

sharedCode/src/commonTest/kotlin/dev/reprator/github/features/userList/presentation/UserListViewModelTest.kt

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ import dev.mokkery.answering.returns
55
import dev.mokkery.everySuspend
66
import dev.mokkery.matcher.any
77
import dev.mokkery.mock
8+
import dev.mokkery.spy
9+
import dev.mokkery.verify.VerifyMode.Companion.atMost
10+
import dev.mokkery.verifySuspend
811
import dev.reprator.github.features.userList.domain.UserModel
912
import dev.reprator.github.features.userList.domain.usecase.UserListUseCase
1013
import dev.reprator.github.fixtures.SEARCH_QUERY
@@ -17,6 +20,7 @@ import dev.reprator.github.util.AppError
1720
import dev.reprator.github.util.AppSuccess
1821
import dev.reprator.github.util.MainDispatcherRule
1922
import dev.reprator.github.util.base.mvi.Middleware
23+
import dev.reprator.github.util.base.mvi.Reducer
2024
import dev.reprator.github.util.runViewModelTest
2125
import kotlinx.coroutines.test.runTest
2226
import kotlin.test.BeforeTest
@@ -36,7 +40,7 @@ class UserListViewModelTest: MainDispatcherRule() {
3640

3741
private lateinit var userListViewModel: UserListViewModel
3842

39-
private lateinit var reducer: UserListScreenReducer
43+
private val reducer = spy<Reducer<UserListState, UserListAction, UserListEffect>>(UserListScreenReducer())
4044
private lateinit var middleware: Middleware<UserListState, UserListAction, UserListEffect>
4145

4246
@BeforeTest
@@ -48,7 +52,6 @@ class UserListViewModelTest: MainDispatcherRule() {
4852
testDispatcher, testDispatcher, testDispatcher,
4953
testDispatcher)
5054

51-
reducer = UserListScreenReducer()
5255
middleware = UserListMiddleware(fetchUseCase, dispatchers)
5356

5457
userListViewModel = UserListViewModel(
@@ -57,6 +60,7 @@ class UserListViewModelTest: MainDispatcherRule() {
5760
reducer = reducer,
5861
middleWareList = setOf(middleware)
5962
)
63+
6064
}
6165

6266
@Test
@@ -94,6 +98,11 @@ class UserListViewModelTest: MainDispatcherRule() {
9498

9599
state.expectNoEvents()
96100
}
101+
102+
verifySuspend(atMost(1)) {
103+
fetchUseCase()
104+
reducer.reduce(any(), UserListAction.SearchUsers("", true))
105+
}
97106
}
98107

99108
@Test
@@ -131,6 +140,11 @@ class UserListViewModelTest: MainDispatcherRule() {
131140

132141
state.expectNoEvents()
133142
}
143+
144+
verifySuspend(atMost(1)) {
145+
fetchUseCase()
146+
reducer.reduce(any(), UserListAction.SearchUsers("", true))
147+
}
134148
}
135149

136150
@Test
@@ -260,7 +274,7 @@ class UserListViewModelTest: MainDispatcherRule() {
260274
}
261275

262276

263-
@Test
277+
@Test
264278
fun searchForUserOnTypeWhenDefaultUserListIsEmpty() {
265279

266280
everySuspend {

0 commit comments

Comments
 (0)