@@ -12,6 +12,7 @@ import io.reactivex.schedulers.TestScheduler
12
12
import org.junit.Before
13
13
import org.junit.Test
14
14
import org.mockito.ArgumentMatchers
15
+ import org.mockito.ArgumentMatchers.eq
15
16
import org.mockito.Mock
16
17
import org.mockito.Mockito
17
18
import org.mockito.Mockito.verify
@@ -38,6 +39,12 @@ class UploadMediaPresenterTest {
38
39
@Mock
39
40
private var uploadItem: UploadModel .UploadItem ? = null
40
41
42
+ @Mock
43
+ private var title: Title ? = null
44
+
45
+ @Mock
46
+ private var descriptions: List <Description >? = null
47
+
41
48
private var testObservableUploadItem: Observable <UploadModel .UploadItem >? = null
42
49
private var testSingleImageResult: Single <Int >? = null
43
50
@@ -107,4 +114,75 @@ class UploadMediaPresenterTest {
107
114
108
115
}
109
116
117
+ /* *
118
+ * Test fetch previous image title when there was one
119
+ */
120
+ @Test
121
+ fun fetchPreviousImageAndTitleTestPositive (){
122
+ Mockito .`when `(repository?.getPreviousUploadItem(ArgumentMatchers .anyInt())).thenReturn(uploadItem)
123
+ Mockito .`when `(uploadItem?.descriptions).thenReturn(descriptions)
124
+ Mockito .`when `(uploadItem?.title).thenReturn(title)
125
+ Mockito .`when `(title?.titleText).thenReturn(ArgumentMatchers .anyString())
126
+
127
+ uploadMediaPresenter?.fetchPreviousTitleAndDescription(0 )
128
+ verify(view)?.setTitleAndDescription(ArgumentMatchers .anyString(),ArgumentMatchers .any())
129
+ }
130
+
131
+ /* *
132
+ * Test fetch previous image title when there was none
133
+ */
134
+ @Test
135
+ fun fetchPreviousImageAndTitleTestNegative (){
136
+ Mockito .`when `(repository?.getPreviousUploadItem(ArgumentMatchers .anyInt())).thenReturn(null )
137
+ uploadMediaPresenter?.fetchPreviousTitleAndDescription(0 )
138
+ verify(view)?.showMessage(ArgumentMatchers .anyInt(),ArgumentMatchers .anyInt())
139
+ }
140
+
141
+ /* *
142
+ * Test bad image invalid location
143
+ */
144
+ @Test
145
+ fun handleBadImageBaseTestInvalidLocation (){
146
+ uploadMediaPresenter?.handleBadImage(8 )
147
+ verify(repository)?.saveValue(ArgumentMatchers .anyString(),eq(false ))
148
+ verify(view)?.showBadImagePopup(8 )
149
+ }
150
+
151
+ /* *
152
+ * Test bad image empty title
153
+ */
154
+ @Test
155
+ fun handleBadImageBaseTestEmptyTitle (){
156
+ uploadMediaPresenter?.handleBadImage(- 3 )
157
+ verify(view)?.showMessage(ArgumentMatchers .anyInt(),ArgumentMatchers .anyInt())
158
+ }
159
+
160
+ /* *
161
+ * Teste show file already exists
162
+ */
163
+ @Test
164
+ fun handleBadImageBaseTestFileNameExists (){
165
+ uploadMediaPresenter?.handleBadImage(- 4 )
166
+ verify(view)?.showDuplicatePicturePopup()
167
+ }
168
+
169
+
170
+ /* *
171
+ * Test show SimilarImageFragment
172
+ */
173
+ @Test
174
+ fun showSimilarImageFragmentTest (){
175
+ uploadMediaPresenter?.showSimilarImageFragment(ArgumentMatchers .anyString(),ArgumentMatchers .anyString())
176
+ verify(view)?.showSimilarImageFragment(ArgumentMatchers .anyString(),ArgumentMatchers .anyString())
177
+ }
178
+
179
+ /* *
180
+ * Test set upload item
181
+ */
182
+ @Test
183
+ fun setUploadItemTest (){
184
+ uploadMediaPresenter?.setUploadItem(0 ,uploadItem)
185
+ verify(repository)?.updateUploadItem(0 ,uploadItem)
186
+ }
187
+
110
188
}
0 commit comments