Skip to content

Commit 36e0f76

Browse files
ashishkumar468maskaravivek
authored andcommitted
Added more unit tests to UploadMediaPresenterTest (commons-app#3251)
1 parent 88bb1d8 commit 36e0f76

File tree

2 files changed

+79
-1
lines changed

2 files changed

+79
-1
lines changed

app/src/main/java/fr/free/nrw/commons/upload/mediaDetails/UploadMediaPresenter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ public void handleImageResult(Integer imageResult) {
160160
*
161161
* @param errorCode
162162
*/
163-
private void handleBadImage(Integer errorCode) {
163+
public void handleBadImage(Integer errorCode) {
164164
Timber.d("Handle bad picture with error code %d", errorCode);
165165
if (errorCode
166166
>= 8) { // If location of image and nearby does not match, then set shared preferences to disable wikidata edits

app/src/test/kotlin/fr/free/nrw/commons/upload/UploadMediaPresenterTest.kt

+78
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import io.reactivex.schedulers.TestScheduler
1212
import org.junit.Before
1313
import org.junit.Test
1414
import org.mockito.ArgumentMatchers
15+
import org.mockito.ArgumentMatchers.eq
1516
import org.mockito.Mock
1617
import org.mockito.Mockito
1718
import org.mockito.Mockito.verify
@@ -38,6 +39,12 @@ class UploadMediaPresenterTest {
3839
@Mock
3940
private var uploadItem: UploadModel.UploadItem? = null
4041

42+
@Mock
43+
private var title: Title? = null
44+
45+
@Mock
46+
private var descriptions: List<Description>? = null
47+
4148
private var testObservableUploadItem: Observable<UploadModel.UploadItem>? = null
4249
private var testSingleImageResult: Single<Int>? = null
4350

@@ -107,4 +114,75 @@ class UploadMediaPresenterTest {
107114

108115
}
109116

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+
110188
}

0 commit comments

Comments
 (0)