mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
#3756 Convert SearchDepictionsFragment to use Pagination - fix presenter unit tests now that view is not nullable - fix Category prefix imports
This commit is contained in:
parent
8d13122e0e
commit
9af97c483e
9 changed files with 97 additions and 124 deletions
|
|
@ -3,6 +3,7 @@ package fr.free.nrw.commons.category;
|
|||
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
import static fr.free.nrw.commons.category.CategoryClientKt.CATEGORY_PREFIX;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
|
|
@ -24,7 +25,6 @@ import fr.free.nrw.commons.utils.NetworkUtils;
|
|||
import fr.free.nrw.commons.utils.ViewUtil;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.inject.Inject;
|
||||
import kotlin.Unit;
|
||||
|
|
@ -86,13 +86,13 @@ public class SubCategoryListFragment extends CommonsDaggerSupportFragment {
|
|||
progressBar.setVisibility(View.VISIBLE);
|
||||
if (isParentCategory) {
|
||||
compositeDisposable.add(categoryClient.getParentCategoryList(
|
||||
CategoryClient.CATEGORY_PREFIX +categoryName)
|
||||
CATEGORY_PREFIX +categoryName)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(this::handleSuccess, this::handleError));
|
||||
} else {
|
||||
compositeDisposable.add(categoryClient.getSubCategoryList(
|
||||
CategoryClient.CATEGORY_PREFIX +categoryName)
|
||||
CATEGORY_PREFIX +categoryName)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(this::handleSuccess, this::handleError));
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package fr.free.nrw.commons.explore.categories
|
|||
|
||||
import com.hannesdorfmann.adapterdelegates4.dsl.adapterDelegateLayoutContainer
|
||||
import fr.free.nrw.commons.R
|
||||
import fr.free.nrw.commons.category.CategoryClient
|
||||
import fr.free.nrw.commons.category.CATEGORY_PREFIX
|
||||
import kotlinx.android.synthetic.main.item_recent_searches.*
|
||||
|
||||
|
||||
|
|
@ -10,6 +10,6 @@ fun searchCategoryDelegate(onCategoryClicked: (String) -> Unit) =
|
|||
adapterDelegateLayoutContainer<String, String>(R.layout.item_recent_searches) {
|
||||
containerView.setOnClickListener { onCategoryClicked(item) }
|
||||
bind {
|
||||
textView1.text = item.substringAfter(CategoryClient.CATEGORY_PREFIX)
|
||||
textView1.text = item.substringAfter(CATEGORY_PREFIX)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package fr.free.nrw.commons.media;
|
|||
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
import static fr.free.nrw.commons.category.CategoryClientKt.CATEGORY_PREFIX;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.AlertDialog;
|
||||
|
|
@ -620,7 +621,7 @@ public class MediaDetailFragment extends CommonsDaggerSupportFragment {
|
|||
if (categoriesLoaded && categoriesPresent) {
|
||||
textView.setOnClickListener(view -> {
|
||||
// Open Category Details page
|
||||
String selectedCategoryTitle = CategoryClient.CATEGORY_PREFIX + catName;
|
||||
String selectedCategoryTitle = CATEGORY_PREFIX + catName;
|
||||
Intent intent = new Intent(getContext(), CategoryDetailsActivity.class);
|
||||
intent.putExtra("categoryName", selectedCategoryTitle);
|
||||
getContext().startActivity(intent);
|
||||
|
|
|
|||
|
|
@ -1,26 +1,23 @@
|
|||
package fr.free.nrw.commons.mwapi;
|
||||
|
||||
import static fr.free.nrw.commons.category.CategoryClientKt.CATEGORY_PREFIX;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
|
||||
import fr.free.nrw.commons.category.CategoryClient;
|
||||
import org.wikipedia.dataclient.mwapi.MwQueryPage;
|
||||
import org.wikipedia.dataclient.mwapi.MwQueryResponse;
|
||||
|
||||
import io.reactivex.Single;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
import io.reactivex.Single;
|
||||
import okhttp3.HttpUrl;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Request;
|
||||
import okhttp3.Response;
|
||||
import okhttp3.ResponseBody;
|
||||
import org.wikipedia.dataclient.mwapi.MwQueryPage;
|
||||
import org.wikipedia.dataclient.mwapi.MwQueryResponse;
|
||||
import timber.log.Timber;
|
||||
|
||||
/**
|
||||
|
|
@ -61,7 +58,7 @@ public class CategoryApi {
|
|||
for (MwQueryPage page : apiResponse.query().pages()) {
|
||||
if (page.categories() != null) {
|
||||
for (MwQueryPage.Category category : page.categories()) {
|
||||
categories.add(category.title().replace(CategoryClient.CATEGORY_PREFIX, ""));
|
||||
categories.add(category.title().replace(CATEGORY_PREFIX, ""));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@ import kotlin.collections.ArrayList
|
|||
|
||||
class CampaignsPresenterTest {
|
||||
@Mock
|
||||
var okHttpJsonApiClient: OkHttpJsonApiClient? = null
|
||||
lateinit var okHttpJsonApiClient: OkHttpJsonApiClient
|
||||
|
||||
lateinit var campaignsPresenter: CampaignsPresenter
|
||||
|
||||
@Mock
|
||||
internal var view: ICampaignsView? = null
|
||||
internal lateinit var view: ICampaignsView
|
||||
|
||||
@Mock
|
||||
internal var campaignResponseDTO: CampaignResponseDTO? = null
|
||||
internal lateinit var campaignResponseDTO: CampaignResponseDTO
|
||||
lateinit var campaignsSingle: Single<CampaignResponseDTO>
|
||||
|
||||
@Mock
|
||||
var campaign: Campaign? = null
|
||||
lateinit var campaign: Campaign
|
||||
|
||||
lateinit var testScheduler: TestScheduler
|
||||
|
||||
|
|
@ -41,37 +41,37 @@ class CampaignsPresenterTest {
|
|||
testScheduler=TestScheduler()
|
||||
campaignsSingle= Single.just(campaignResponseDTO)
|
||||
campaignsPresenter= CampaignsPresenter(okHttpJsonApiClient,testScheduler,testScheduler)
|
||||
campaignsPresenter?.onAttachView(view)
|
||||
Mockito.`when`(okHttpJsonApiClient?.campaigns).thenReturn(campaignsSingle)
|
||||
campaignsPresenter.onAttachView(view)
|
||||
Mockito.`when`(okHttpJsonApiClient.campaigns).thenReturn(campaignsSingle)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun getCampaignsTestNoCampaigns() {
|
||||
campaignsPresenter.getCampaigns()
|
||||
verify(okHttpJsonApiClient)?.campaigns
|
||||
verify(okHttpJsonApiClient).campaigns
|
||||
testScheduler.triggerActions()
|
||||
verify(view)?.showCampaigns(null)
|
||||
verify(view).showCampaigns(null)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun getCampaignsTestNonEmptyCampaigns() {
|
||||
campaignsPresenter.getCampaigns()
|
||||
var campaigns= ArrayList<Campaign>()
|
||||
campaigns.add(campaign!!)
|
||||
campaigns.add(campaign)
|
||||
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.ROOT)
|
||||
simpleDateFormat.timeZone = TimeZone.getTimeZone("UTC")
|
||||
Mockito.`when`(campaignResponseDTO?.campaigns).thenReturn(campaigns)
|
||||
Mockito.`when`(campaignResponseDTO.campaigns).thenReturn(campaigns)
|
||||
var calendar = Calendar.getInstance()
|
||||
calendar.add(Calendar.DATE,-1)
|
||||
val startDateString = simpleDateFormat.format(calendar.time).toString()
|
||||
calendar= Calendar.getInstance()
|
||||
calendar.add(Calendar.DATE,3)
|
||||
val endDateString= simpleDateFormat.format(calendar.time).toString()
|
||||
Mockito.`when`(campaign?.endDate).thenReturn(endDateString)
|
||||
Mockito.`when`(campaign?.startDate).thenReturn(startDateString)
|
||||
Mockito.`when`(campaignResponseDTO?.campaigns).thenReturn(campaigns)
|
||||
verify(okHttpJsonApiClient)?.campaigns
|
||||
Mockito.`when`(campaign.endDate).thenReturn(endDateString)
|
||||
Mockito.`when`(campaign.startDate).thenReturn(startDateString)
|
||||
Mockito.`when`(campaignResponseDTO.campaigns).thenReturn(campaigns)
|
||||
verify(okHttpJsonApiClient).campaigns
|
||||
testScheduler.triggerActions()
|
||||
verify(view)?.showCampaigns(campaign)
|
||||
verify(view).showCampaigns(campaign)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package fr.free.nrw.commons.depictions
|
||||
|
||||
import org.mockito.Mockito.verify
|
||||
import fr.free.nrw.commons.Media
|
||||
import fr.free.nrw.commons.depictions.Media.DepictedImagesFragment
|
||||
import fr.free.nrw.commons.depictions.Media.DepictedImagesPresenter
|
||||
|
|
@ -15,24 +14,26 @@ import org.junit.Test
|
|||
import org.mockito.ArgumentMatchers
|
||||
import org.mockito.Mock
|
||||
import org.mockito.Mockito
|
||||
import org.mockito.Mockito.verify
|
||||
import org.mockito.MockitoAnnotations
|
||||
|
||||
class DepictedImagesPresenterTest {
|
||||
|
||||
@Mock
|
||||
internal var view: DepictedImagesFragment? = null
|
||||
internal lateinit var view: DepictedImagesFragment
|
||||
|
||||
var depictedImagesPresenter: DepictedImagesPresenter? = null
|
||||
|
||||
var jsonKvStore: JsonKvStore? = null
|
||||
lateinit var depictedImagesPresenter: DepictedImagesPresenter
|
||||
|
||||
@Mock
|
||||
var depictsClient: DepictsClient? = null
|
||||
lateinit var jsonKvStore: JsonKvStore
|
||||
|
||||
@Mock
|
||||
var mediaClient: MediaClient? = null
|
||||
lateinit var depictsClient: DepictsClient
|
||||
|
||||
var testScheduler: TestScheduler? = null
|
||||
@Mock
|
||||
lateinit var mediaClient: MediaClient
|
||||
|
||||
lateinit var testScheduler: TestScheduler
|
||||
|
||||
val mediaList: ArrayList<Media> = ArrayList()
|
||||
|
||||
|
|
@ -50,24 +51,26 @@ class DepictedImagesPresenterTest {
|
|||
mediaList.add(mediaItem)
|
||||
testObservable = Observable.just(mediaList)
|
||||
depictedImagesPresenter = DepictedImagesPresenter(jsonKvStore, depictsClient, mediaClient, testScheduler, testScheduler)
|
||||
depictedImagesPresenter?.onAttachView(view)
|
||||
depictedImagesPresenter.onAttachView(view)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun initList() {
|
||||
Mockito.`when`(depictsClient?.fetchImagesForDepictedItem(ArgumentMatchers.anyString(),
|
||||
ArgumentMatchers.anyInt())).thenReturn(testObservable)
|
||||
depictedImagesPresenter?.initList("rabbit")
|
||||
depictedImagesPresenter?.handleSuccess(mediaList)
|
||||
Mockito.`when`(
|
||||
depictsClient.fetchImagesForDepictedItem(ArgumentMatchers.anyString(),
|
||||
ArgumentMatchers.anyInt())
|
||||
).thenReturn(testObservable)
|
||||
depictedImagesPresenter.initList("rabbit")
|
||||
depictedImagesPresenter.handleSuccess(mediaList)
|
||||
verify(view)?.handleSuccess(mediaList)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun replaceTitlesWithCaptions() {
|
||||
var stringObservable: Single<String>? = Single.just(String())
|
||||
Mockito.`when`(mediaClient?.getCaptionByWikibaseIdentifier(ArgumentMatchers.anyString()))?.thenReturn(stringObservable)
|
||||
depictedImagesPresenter?.replaceTitlesWithCaptions("File:rabbit.jpg", 0)
|
||||
testScheduler?.triggerActions()
|
||||
Mockito.`when`(mediaClient.getCaptionByWikibaseIdentifier(ArgumentMatchers.anyString()))?.thenReturn(stringObservable)
|
||||
depictedImagesPresenter.replaceTitlesWithCaptions("File:rabbit.jpg", 0)
|
||||
testScheduler.triggerActions()
|
||||
verify(view)?.handleLabelforImage("", 0)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import fr.free.nrw.commons.explore.recentsearches.RecentSearchesDao
|
|||
import fr.free.nrw.commons.mwapi.OkHttpJsonApiClient
|
||||
import fr.free.nrw.commons.upload.structure.depictions.DepictedItem
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.Single
|
||||
import io.reactivex.schedulers.TestScheduler
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
|
|
@ -20,19 +19,20 @@ import org.mockito.MockitoAnnotations
|
|||
class SubDepictionListPresenterTest {
|
||||
|
||||
@Mock
|
||||
internal var view: SubDepictionListContract.View? = null
|
||||
internal lateinit var view: SubDepictionListContract.View
|
||||
|
||||
var subDepictionListPresenter: SubDepictionListPresenter? = null
|
||||
lateinit var subDepictionListPresenter: SubDepictionListPresenter
|
||||
|
||||
var testScheduler: TestScheduler? = null
|
||||
|
||||
internal var recentSearchesDao: RecentSearchesDao? = null
|
||||
lateinit var testScheduler: TestScheduler
|
||||
|
||||
@Mock
|
||||
internal var depictsClient: DepictsClient? = null
|
||||
internal lateinit var recentSearchesDao: RecentSearchesDao
|
||||
|
||||
@Mock
|
||||
internal var okHttpJsonApiClient: OkHttpJsonApiClient? = null
|
||||
internal lateinit var depictsClient: DepictsClient
|
||||
|
||||
@Mock
|
||||
internal lateinit var okHttpJsonApiClient: OkHttpJsonApiClient
|
||||
|
||||
var testObservable: Observable<List<DepictedItem>>? = null
|
||||
|
||||
|
|
@ -49,22 +49,22 @@ class SubDepictionListPresenterTest {
|
|||
depictedItems.add(depictedItem)
|
||||
testObservable = Observable.just(depictedItems)
|
||||
subDepictionListPresenter = SubDepictionListPresenter(recentSearchesDao, depictsClient, okHttpJsonApiClient, testScheduler, testScheduler)
|
||||
subDepictionListPresenter?.onAttachView(view)
|
||||
subDepictionListPresenter.onAttachView(view)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun initSubDepictionListForParentClass() {
|
||||
Mockito.`when`(okHttpJsonApiClient?.getParentQIDs(ArgumentMatchers.anyString())).thenReturn(testObservable)
|
||||
subDepictionListPresenter?.initSubDepictionList("Q9394", true)
|
||||
testScheduler?.triggerActions()
|
||||
Mockito.`when`(okHttpJsonApiClient.getParentQIDs(ArgumentMatchers.anyString())).thenReturn(testObservable)
|
||||
subDepictionListPresenter.initSubDepictionList("Q9394", true)
|
||||
testScheduler.triggerActions()
|
||||
verify(view)?.onSuccess(depictedItems)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun initSubDepictionListForChildClass() {
|
||||
Mockito.`when`(okHttpJsonApiClient?.getChildQIDs(ArgumentMatchers.anyString())).thenReturn(testObservable)
|
||||
subDepictionListPresenter?.initSubDepictionList("Q9394", false)
|
||||
testScheduler?.triggerActions()
|
||||
Mockito.`when`(okHttpJsonApiClient.getChildQIDs(ArgumentMatchers.anyString())).thenReturn(testObservable)
|
||||
subDepictionListPresenter.initSubDepictionList("Q9394", false)
|
||||
testScheduler.triggerActions()
|
||||
verify(view)?.onSuccess(depictedItems)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,11 @@
|
|||
package fr.free.nrw.commons.explore.depictions
|
||||
|
||||
import com.nhaarman.mockitokotlin2.whenever
|
||||
import fr.free.nrw.commons.explore.recentsearches.RecentSearchesDao
|
||||
import fr.free.nrw.commons.kvstore.JsonKvStore
|
||||
import fr.free.nrw.commons.upload.depictedItem
|
||||
import fr.free.nrw.commons.upload.structure.depictions.DepictedItem
|
||||
import io.reactivex.Single
|
||||
import io.reactivex.schedulers.TestScheduler
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.mockito.Mock
|
||||
import org.mockito.Mockito.verify
|
||||
import org.mockito.MockitoAnnotations
|
||||
|
||||
class SearchDepictionsPresenterTest {
|
||||
class SearchDepictionsFragmentPresenterTest {
|
||||
|
||||
@Mock
|
||||
internal lateinit var view: SearchDepictionsFragmentContract.View
|
||||
|
|
@ -23,38 +15,18 @@ class SearchDepictionsPresenterTest {
|
|||
private lateinit var testScheduler: TestScheduler
|
||||
|
||||
@Mock
|
||||
private lateinit var jsonKvStore: JsonKvStore
|
||||
|
||||
@Mock
|
||||
lateinit var recentSearchesDao: RecentSearchesDao
|
||||
|
||||
@Mock
|
||||
lateinit var depictsClient: DepictsClient
|
||||
private lateinit var searchableDepictionsDataSourceFactory: SearchableDepictionsDataSourceFactory
|
||||
|
||||
@Before
|
||||
@Throws(Exception::class)
|
||||
fun setUp() {
|
||||
MockitoAnnotations.initMocks(this)
|
||||
testScheduler = TestScheduler()
|
||||
val depictedItem: DepictedItem = depictedItem(instanceOfs = listOf())
|
||||
searchDepictionsFragmentPresenter = SearchDepictionsFragmentPresenter(
|
||||
jsonKvStore,
|
||||
recentSearchesDao,
|
||||
depictsClient,
|
||||
testScheduler,
|
||||
testScheduler
|
||||
searchableDepictionsDataSourceFactory
|
||||
)
|
||||
searchDepictionsFragmentPresenter.onAttachView(view)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun updateDepictionList() {
|
||||
val expectedList = listOf(depictedItem())
|
||||
whenever(depictsClient.searchForDepictions("rabbit", 25, 0))
|
||||
.thenReturn(Single.just(expectedList))
|
||||
searchDepictionsFragmentPresenter.updateDepictionList("rabbit", 25, false)
|
||||
testScheduler.triggerActions()
|
||||
verify(view)?.onSuccess(expectedList)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import org.mockito.InjectMocks
|
|||
import org.mockito.Mock
|
||||
import org.mockito.Mockito.`when`
|
||||
import org.mockito.MockitoAnnotations
|
||||
import java.util.ArrayList
|
||||
import java.util.*
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -21,11 +21,11 @@ import java.util.ArrayList
|
|||
class UploadPresenterTest {
|
||||
|
||||
@Mock
|
||||
internal var repository: UploadRepository? = null
|
||||
internal lateinit var repository: UploadRepository
|
||||
@Mock
|
||||
internal var view: UploadContract.View? = null
|
||||
internal lateinit var view: UploadContract.View
|
||||
@Mock
|
||||
var contribution: Contribution? = null
|
||||
lateinit var contribution: Contribution
|
||||
|
||||
@Mock
|
||||
private lateinit var uploadableFile: UploadableFile
|
||||
|
|
@ -34,7 +34,7 @@ class UploadPresenterTest {
|
|||
private lateinit var anotherUploadableFile: UploadableFile
|
||||
|
||||
@InjectMocks
|
||||
var uploadPresenter: UploadPresenter? = null
|
||||
lateinit var uploadPresenter: UploadPresenter
|
||||
|
||||
private var uploadableFiles: ArrayList<UploadableFile> = ArrayList()
|
||||
|
||||
|
|
@ -45,11 +45,11 @@ class UploadPresenterTest {
|
|||
@Throws(Exception::class)
|
||||
fun setUp() {
|
||||
MockitoAnnotations.initMocks(this)
|
||||
uploadPresenter?.onAttachView(view)
|
||||
`when`(repository?.buildContributions()).thenReturn(Observable.just(contribution))
|
||||
uploadPresenter.onAttachView(view)
|
||||
`when`(repository.buildContributions()).thenReturn(Observable.just(contribution))
|
||||
uploadableFiles.add(uploadableFile)
|
||||
`when`(view?.uploadableFiles).thenReturn(uploadableFiles)
|
||||
`when`(uploadableFile?.filePath).thenReturn("data://test")
|
||||
`when`(view.uploadableFiles).thenReturn(uploadableFiles)
|
||||
`when`(uploadableFile.filePath).thenReturn("data://test")
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -57,12 +57,12 @@ class UploadPresenterTest {
|
|||
*/
|
||||
@Test
|
||||
fun handleSubmitTestUserLoggedIn() {
|
||||
`when`(view?.isLoggedIn).thenReturn(true)
|
||||
uploadPresenter?.handleSubmit()
|
||||
verify(view)?.isLoggedIn
|
||||
verify(view)?.showProgress(true)
|
||||
verify(repository)?.buildContributions()
|
||||
verify(repository)?.buildContributions()
|
||||
`when`(view.isLoggedIn).thenReturn(true)
|
||||
uploadPresenter.handleSubmit()
|
||||
verify(view).isLoggedIn
|
||||
verify(view).showProgress(true)
|
||||
verify(repository).buildContributions()
|
||||
verify(repository).buildContributions()
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -70,10 +70,10 @@ class UploadPresenterTest {
|
|||
*/
|
||||
@Test
|
||||
fun handleSubmitTestUserNotLoggedIn() {
|
||||
`when`(view?.isLoggedIn).thenReturn(false)
|
||||
uploadPresenter?.handleSubmit()
|
||||
verify(view)?.isLoggedIn
|
||||
verify(view)?.askUserToLogIn()
|
||||
`when`(view.isLoggedIn).thenReturn(false)
|
||||
uploadPresenter.handleSubmit()
|
||||
verify(view).isLoggedIn
|
||||
verify(view).askUserToLogIn()
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -88,9 +88,9 @@ class UploadPresenterTest {
|
|||
fun hideTopCardWhenReachedTheLastFile(){
|
||||
deletePictureBaseTest()
|
||||
uploadableFiles.add(uploadableFile)
|
||||
uploadPresenter?.deletePictureAtIndex(0)
|
||||
verify(view)?.showHideTopCard(false)
|
||||
verify(repository)?.deletePicture(ArgumentMatchers.anyString())
|
||||
uploadPresenter.deletePictureAtIndex(0)
|
||||
verify(view).showHideTopCard(false)
|
||||
verify(repository).deletePicture(ArgumentMatchers.anyString())
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -100,11 +100,11 @@ class UploadPresenterTest {
|
|||
fun testDeleteWhenSingleUpload(){
|
||||
deletePictureBaseTest()
|
||||
uploadableFiles.add(uploadableFile)
|
||||
uploadPresenter?.deletePictureAtIndex(0)
|
||||
verify(view)?.showHideTopCard(false)
|
||||
verify(repository)?.deletePicture(ArgumentMatchers.anyString())
|
||||
verify(view)?.showMessage(ArgumentMatchers.anyInt())//As there is only one while which we are asking for deletion, upload should be cancelled and this flow should be triggered
|
||||
verify(view)?.finish()
|
||||
uploadPresenter.deletePictureAtIndex(0)
|
||||
verify(view).showHideTopCard(false)
|
||||
verify(repository).deletePicture(ArgumentMatchers.anyString())
|
||||
verify(view).showMessage(ArgumentMatchers.anyInt())//As there is only one while which we are asking for deletion, upload should be cancelled and this flow should be triggered
|
||||
verify(view).finish()
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -115,8 +115,8 @@ class UploadPresenterTest {
|
|||
deletePictureBaseTest()
|
||||
uploadableFiles.add(uploadableFile)
|
||||
uploadableFiles.add(anotherUploadableFile)
|
||||
uploadPresenter?.deletePictureAtIndex(0)
|
||||
verify(view)?.onUploadMediaDeleted(0)
|
||||
verify(view)?.updateTopCardTitle()
|
||||
uploadPresenter.deletePictureAtIndex(0)
|
||||
verify(view).onUploadMediaDeleted(0)
|
||||
verify(view).updateTopCardTitle()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue