Skip to content

Commit 047cf3a

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

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.hoc.flowmvi.domain
22

33
import com.hoc.flowmvi.domain.entity.User
44
import com.hoc.flowmvi.domain.repository.UserRepository
5+
import com.hoc.flowmvi.domain.usecase.AddUserUseCase
56
import com.hoc.flowmvi.domain.usecase.GetUsersUseCase
67
import com.hoc.flowmvi.domain.usecase.RefreshGetUsersUseCase
78
import com.hoc.flowmvi.domain.usecase.RemoveUserUseCase
@@ -53,6 +54,7 @@ class UseCaseTest {
5354
private val getUsersUseCase: GetUsersUseCase = GetUsersUseCase(userRepository)
5455
private val refreshUseCase: RefreshGetUsersUseCase = RefreshGetUsersUseCase(userRepository)
5556
private val removeUserUseCase: RemoveUserUseCase = RemoveUserUseCase(userRepository)
57+
private val addUserUseCase: AddUserUseCase = AddUserUseCase(userRepository)
5658

5759
@Test
5860
fun test_getUsersUseCase_whenSuccess_emitsUsers() = testDispatcher.runBlockingTest {
@@ -111,4 +113,23 @@ class UseCaseTest {
111113

112114
coVerify { userRepository.remove(USERS[0]) }
113115
}
116+
117+
@Test
118+
fun test_addUserUseCase_whenSuccess_returnsUnit() = testDispatcher.runBlockingTest {
119+
coEvery { userRepository.add(any()) } returns Unit
120+
121+
val result = addUserUseCase(USERS[0])
122+
123+
coVerify { userRepository.add(USERS[0]) }
124+
assertEquals(Unit, result)
125+
}
126+
127+
@Test
128+
fun test_addUserUseCase_whenError_throwsError() = testDispatcher.runBlockingTest {
129+
coEvery { userRepository.add(any()) } throws IOException()
130+
131+
assertFailsWith<IOException> { addUserUseCase(USERS[0]) }
132+
133+
coVerify { userRepository.add(USERS[0]) }
134+
}
114135
}

0 commit comments

Comments
 (0)