@@ -2,6 +2,7 @@ package com.hoc.flowmvi.domain
2
2
3
3
import com.hoc.flowmvi.domain.entity.User
4
4
import com.hoc.flowmvi.domain.repository.UserRepository
5
+ import com.hoc.flowmvi.domain.usecase.AddUserUseCase
5
6
import com.hoc.flowmvi.domain.usecase.GetUsersUseCase
6
7
import com.hoc.flowmvi.domain.usecase.RefreshGetUsersUseCase
7
8
import com.hoc.flowmvi.domain.usecase.RemoveUserUseCase
@@ -53,6 +54,7 @@ class UseCaseTest {
53
54
private val getUsersUseCase: GetUsersUseCase = GetUsersUseCase (userRepository)
54
55
private val refreshUseCase: RefreshGetUsersUseCase = RefreshGetUsersUseCase (userRepository)
55
56
private val removeUserUseCase: RemoveUserUseCase = RemoveUserUseCase (userRepository)
57
+ private val addUserUseCase: AddUserUseCase = AddUserUseCase (userRepository)
56
58
57
59
@Test
58
60
fun test_getUsersUseCase_whenSuccess_emitsUsers () = testDispatcher.runBlockingTest {
@@ -111,4 +113,23 @@ class UseCaseTest {
111
113
112
114
coVerify { userRepository.remove(USERS [0 ]) }
113
115
}
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
+ }
114
135
}
0 commit comments