Skip to content

Commit ededd5a

Browse files
committed
test(domain)
1 parent 047cf3a commit ededd5a

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

domain/src/test/java/com/hoc/flowmvi/domain/UseCaseTest.kt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import com.hoc.flowmvi.domain.usecase.AddUserUseCase
66
import com.hoc.flowmvi.domain.usecase.GetUsersUseCase
77
import com.hoc.flowmvi.domain.usecase.RefreshGetUsersUseCase
88
import com.hoc.flowmvi.domain.usecase.RemoveUserUseCase
9+
import com.hoc.flowmvi.domain.usecase.SearchUsersUseCase
10+
import io.mockk.clearAllMocks
911
import io.mockk.coEvery
1012
import io.mockk.coVerify
1113
import io.mockk.every
@@ -18,6 +20,8 @@ import kotlinx.coroutines.flow.flowOf
1820
import kotlinx.coroutines.test.TestCoroutineDispatcher
1921
import kotlinx.coroutines.test.runBlockingTest
2022
import java.io.IOException
23+
import kotlin.test.AfterTest
24+
import kotlin.test.BeforeTest
2125
import kotlin.test.Test
2226
import kotlin.test.assertEquals
2327
import kotlin.test.assertFailsWith
@@ -55,6 +59,16 @@ class UseCaseTest {
5559
private val refreshUseCase: RefreshGetUsersUseCase = RefreshGetUsersUseCase(userRepository)
5660
private val removeUserUseCase: RemoveUserUseCase = RemoveUserUseCase(userRepository)
5761
private val addUserUseCase: AddUserUseCase = AddUserUseCase(userRepository)
62+
private val searchUsersUseCase: SearchUsersUseCase = SearchUsersUseCase(userRepository)
63+
64+
@BeforeTest
65+
fun setup() {
66+
}
67+
68+
@AfterTest
69+
fun tearDown() {
70+
clearAllMocks()
71+
}
5872

5973
@Test
6074
fun test_getUsersUseCase_whenSuccess_emitsUsers() = testDispatcher.runBlockingTest {
@@ -132,4 +146,25 @@ class UseCaseTest {
132146

133147
coVerify { userRepository.add(USERS[0]) }
134148
}
149+
150+
@Test
151+
fun test_searchUsersUseCase_whenSuccess_returnsUsers() = testDispatcher.runBlockingTest {
152+
coEvery { userRepository.search(any()) } returns USERS
153+
154+
val query = "hoc081098"
155+
val result = searchUsersUseCase(query)
156+
157+
coVerify { userRepository.search(query) }
158+
assertEquals(USERS, result)
159+
}
160+
161+
@Test
162+
fun test_searchUsersUseCase_whenError_throwsError() = testDispatcher.runBlockingTest {
163+
coEvery { userRepository.search(any()) } throws IOException()
164+
165+
val query = "hoc081098"
166+
assertFailsWith<IOException> { searchUsersUseCase(query) }
167+
168+
coVerify { userRepository.search(query) }
169+
}
135170
}

0 commit comments

Comments
 (0)