…lines 1–9 unchanged (9 lines)
10import com.owncloud.android.datamodel.OCFile
11import com.owncloud.android.ui.activities.data.files.FilesRepository.ReadRemoteFileCallback
12import com.owncloud.android.ui.activities.data.files.FilesServiceApi.FilesServiceCallback
13import com.owncloud.android.ui.activity.BaseActivity
14import org.junit.Before
15import org.junit.Test
16import org.mockito.ArgumentCaptor
17import org.mockito.ArgumentMatchers.eq
18import org.mockito.Captor
19import org.mockito.Mock
20import org.mockito.Mockito.verify
21import org.mockito.MockitoAnnotations
22
23class RemoteFilesRepositoryTest {
24
25 @Mock private lateinit var serviceApi: FilesServiceApi
26
27 @Mock private lateinit var mockedReadRemoteFileCallback: ReadRemoteFileCallback
28
29 @Mock private lateinit var baseActivity: BaseActivity
30
31 @Mock private lateinit var ocFile: OCFile
32
33 @Captor private lateinit var filesServiceCallbackCaptor: ArgumentCaptor<FilesServiceCallback<OCFile>>
34
35 private lateinit var filesRepository: FilesRepository
36
37 @Before
38 fun setUpFilesRepository() {
39 MockitoAnnotations.openMocks(this)
40 filesRepository = RemoteFilesRepository(serviceApi)
41 }
42
43 @Test
44 fun readRemoteFileReturnSuccess() {
45 filesRepository.readRemoteFile("path", baseActivity, mockedReadRemoteFileCallback)
46 verify(serviceApi).readRemoteFile(eq("path"), eq(baseActivity), filesServiceCallbackCaptor.capture())
47 filesServiceCallbackCaptor.value.onLoaded(ocFile)
48 verify(mockedReadRemoteFileCallback).onFileLoaded(eq(ocFile))
49 }
50
51 @Test
52 fun readRemoteFileReturnError() {
53 filesRepository.readRemoteFile("path", baseActivity, mockedReadRemoteFileCallback)
54 verify(serviceApi).readRemoteFile(eq("path"), eq(baseActivity), filesServiceCallbackCaptor.capture())
55 filesServiceCallbackCaptor.value.onError("error")
56 verify(mockedReadRemoteFileCallback).onFileLoadError(eq("error"))
57 }
58}
59