mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 04:43:54 +01:00
Fix image not loading issue in peer review (#2902)
* Fix image loading issue in peer review * With more test cases
This commit is contained in:
parent
482cad6663
commit
accb880256
2 changed files with 20 additions and 4 deletions
|
|
@ -46,10 +46,10 @@ public class ReviewHelper {
|
||||||
.flatMap(title -> mediaWikiApi.pageExists("Commons:Deletion_requests/" + title)
|
.flatMap(title -> mediaWikiApi.pageExists("Commons:Deletion_requests/" + title)
|
||||||
.map(pageExists -> new Pair<>(title, pageExists)))
|
.map(pageExists -> new Pair<>(title, pageExists)))
|
||||||
.map((Pair<String, Boolean> pair) -> {
|
.map((Pair<String, Boolean> pair) -> {
|
||||||
if (pair.second) {
|
if (!pair.second) {
|
||||||
return new Media(pair.first.replace("File:", ""));
|
return new Media(pair.first.replace("File:", ""));
|
||||||
}
|
}
|
||||||
throw new Exception("Page does not exist");
|
throw new Exception("Already nominated for deletion");
|
||||||
}).retry(MAX_RANDOM_TRIES);
|
}).retry(MAX_RANDOM_TRIES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -58,7 +58,7 @@ public class ReviewHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public String findImageInRecentChanges(List<RecentChange> recentChanges) {
|
private String findImageInRecentChanges(List<RecentChange> recentChanges) {
|
||||||
String imageTitle;
|
String imageTitle;
|
||||||
Random r = new Random();
|
Random r = new Random();
|
||||||
int count = recentChanges.size();
|
int count = recentChanges.size();
|
||||||
|
|
|
||||||
|
|
@ -50,12 +50,28 @@ class ReviewHelperTest {
|
||||||
.thenReturn(Single.just(listOf(recentChange, recentChange1, recentChange2)))
|
.thenReturn(Single.just(listOf(recentChange, recentChange1, recentChange2)))
|
||||||
|
|
||||||
`when`(mediaWikiApi?.pageExists(ArgumentMatchers.anyString()))
|
`when`(mediaWikiApi?.pageExists(ArgumentMatchers.anyString()))
|
||||||
.thenReturn(Single.just(true))
|
.thenReturn(Single.just(false))
|
||||||
val randomMedia = reviewHelper?.randomMedia?.blockingGet()
|
val randomMedia = reviewHelper?.randomMedia?.blockingGet()
|
||||||
|
|
||||||
assertTrue(randomMedia is Media)
|
assertTrue(randomMedia is Media)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test scenario when all media is already nominated for deletion
|
||||||
|
*/
|
||||||
|
@Test(expected = Exception::class)
|
||||||
|
fun getRandomMediaWithWithAllMediaNominatedForDeletion() {
|
||||||
|
val recentChange = getMockRecentChange("test", "File:Test1.jpeg", 0)
|
||||||
|
val recentChange1 = getMockRecentChange("test", "File:Test2.png", 0)
|
||||||
|
val recentChange2 = getMockRecentChange("test", "File:Test3.jpg", 0)
|
||||||
|
`when`(okHttpJsonApiClient?.recentFileChanges)
|
||||||
|
.thenReturn(Single.just(listOf(recentChange, recentChange1, recentChange2)))
|
||||||
|
|
||||||
|
`when`(mediaWikiApi?.pageExists(ArgumentMatchers.anyString()))
|
||||||
|
.thenReturn(Single.just(true))
|
||||||
|
reviewHelper?.randomMedia?.blockingGet()
|
||||||
|
}
|
||||||
|
|
||||||
fun getMockRecentChange(type: String, title: String, oldRevisionId: Long): RecentChange {
|
fun getMockRecentChange(type: String, title: String, oldRevisionId: Long): RecentChange {
|
||||||
val recentChange = mock(RecentChange::class.java)
|
val recentChange = mock(RecentChange::class.java)
|
||||||
`when`(recentChange!!.type).thenReturn(type)
|
`when`(recentChange!!.type).thenReturn(type)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue