mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-28 13:23:58 +01:00
Add tests
This commit is contained in:
parent
5012126567
commit
936e50d327
3 changed files with 108 additions and 10 deletions
|
|
@ -18,7 +18,7 @@ import java.util.Date
|
|||
fun depictedItem(
|
||||
name: String = "label",
|
||||
description: String = "desc",
|
||||
imageUrl: String = "",
|
||||
primaryImage: String = "",
|
||||
instanceOfs: List<String> = listOf(),
|
||||
commonsCategories: List<CategoryItem> = listOf(),
|
||||
isSelected: Boolean = false,
|
||||
|
|
@ -26,7 +26,7 @@ fun depictedItem(
|
|||
) = DepictedItem(
|
||||
name = name,
|
||||
description = description,
|
||||
imageUrl = imageUrl,
|
||||
primaryImage = primaryImage,
|
||||
instanceOfs = instanceOfs,
|
||||
commonsCategories = commonsCategories,
|
||||
isSelected = isSelected,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
package fr.free.nrw.commons.category
|
||||
|
||||
import categoryItem
|
||||
import com.nhaarman.mockitokotlin2.any
|
||||
import com.nhaarman.mockitokotlin2.mock
|
||||
import com.nhaarman.mockitokotlin2.times
|
||||
import com.nhaarman.mockitokotlin2.verify
|
||||
import com.nhaarman.mockitokotlin2.whenever
|
||||
import depictedItem
|
||||
|
|
@ -90,14 +92,18 @@ class CategoriesModelTest {
|
|||
val depictedItem =
|
||||
depictedItem(
|
||||
commonsCategories =
|
||||
listOf(
|
||||
CategoryItem(
|
||||
"depictionCategory",
|
||||
"",
|
||||
"",
|
||||
false,
|
||||
),
|
||||
listOf(
|
||||
CategoryItem(
|
||||
"depictionCategory",
|
||||
"",
|
||||
"",
|
||||
false,
|
||||
),
|
||||
),
|
||||
)
|
||||
val depictedItemWithoutCategories =
|
||||
depictedItem(
|
||||
primaryImage = "P18"
|
||||
)
|
||||
|
||||
whenever(gpsCategoryModel.categoriesFromLocation)
|
||||
|
|
@ -159,6 +165,23 @@ class CategoriesModelTest {
|
|||
),
|
||||
),
|
||||
)
|
||||
whenever(
|
||||
categoryClient.getCategoriesOfImage(
|
||||
"P18",
|
||||
25,
|
||||
),
|
||||
).thenReturn(
|
||||
Single.just(
|
||||
listOf(
|
||||
CategoryItem(
|
||||
"categoriesOfP18",
|
||||
"",
|
||||
"",
|
||||
false,
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
val imageTitleList = listOf("Test")
|
||||
CategoriesModel(categoryClient, categoryDao, gpsCategoryModel)
|
||||
.searchAll("", imageTitleList, listOf(depictedItem))
|
||||
|
|
@ -171,8 +194,21 @@ class CategoriesModelTest {
|
|||
categoryItem("recentCategories"),
|
||||
),
|
||||
)
|
||||
CategoriesModel(categoryClient, categoryDao, gpsCategoryModel)
|
||||
.searchAll("", imageTitleList, listOf(depictedItemWithoutCategories))
|
||||
.test()
|
||||
.assertValue(
|
||||
listOf(
|
||||
categoryItem("categoriesOfP18"),
|
||||
categoryItem("gpsCategory"),
|
||||
categoryItem("titleSearch"),
|
||||
categoryItem("recentCategories"),
|
||||
),
|
||||
)
|
||||
imageTitleList.forEach {
|
||||
verify(categoryClient).searchCategories(it, CategoriesModel.SEARCH_CATS_LIMIT)
|
||||
verify(categoryClient, times(2)).searchCategories(it, CategoriesModel.SEARCH_CATS_LIMIT)
|
||||
verify(categoryClient).getCategoriesByName(any(), any(), any(), any())
|
||||
verify(categoryClient).getCategoriesOfImage(any(), any())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -132,6 +132,45 @@ class CategoryClientTest {
|
|||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun getCategoriesByTitlesFound() {
|
||||
val mockResponse = withMockResponse("Category:Test")
|
||||
whenever(
|
||||
categoryInterface.getCategoriesByTitles(
|
||||
anyString(),
|
||||
anyInt(),
|
||||
),
|
||||
).thenReturn(Single.just(mockResponse))
|
||||
categoryClient
|
||||
.getCategoriesOfImage("tes", 10)
|
||||
.test()
|
||||
.assertValues(
|
||||
listOf(
|
||||
CategoryItem(
|
||||
"Test",
|
||||
"",
|
||||
"",
|
||||
false,
|
||||
),
|
||||
),
|
||||
)
|
||||
categoryClient
|
||||
.getCategoriesOfImage(
|
||||
"tes",
|
||||
10,
|
||||
).test()
|
||||
.assertValues(
|
||||
listOf(
|
||||
CategoryItem(
|
||||
"Test",
|
||||
"",
|
||||
"",
|
||||
false,
|
||||
),
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun getCategoriesByNameNull() {
|
||||
val mockResponse = withNullPages()
|
||||
|
|
@ -160,6 +199,29 @@ class CategoryClientTest {
|
|||
.assertValues(emptyList())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun getCategoriesByTitlesNull() {
|
||||
val mockResponse = withNullPages()
|
||||
whenever(
|
||||
categoryInterface.getCategoriesByTitles(
|
||||
anyString(),
|
||||
anyInt(),
|
||||
),
|
||||
).thenReturn(Single.just(mockResponse))
|
||||
categoryClient
|
||||
.getCategoriesOfImage(
|
||||
"tes",
|
||||
10,
|
||||
).test()
|
||||
.assertValues(emptyList())
|
||||
categoryClient
|
||||
.getCategoriesOfImage(
|
||||
"tes",
|
||||
10,
|
||||
).test()
|
||||
.assertValues(emptyList())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun getParentCategoryListFound() {
|
||||
val mockResponse = withMockResponse("Category:Test")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue