mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 04:43:54 +01:00
Fixes #3790- Use WorkManagers to upload contributions (#4298)
* Fixes #3790
Use WorkManagers to process upload contributions
** Removed UploadService and Added UploadWorker to process contributions Upload
** Made nescessary changes to remove the usages of the Service from the classes
** UI Fxies- Minor changes in the retry and cancel uplaod icons to give them a clickable area of 48 dp
* Fixes #3790
Use WorkManagers to process upload contributions
** Removed UploadService and Added UploadWorker to process contributions Upload
** Made nescessary changes to remove the usages of the Service from the classes
** UI Fxies- Minor changes in the retry and cancel uplaod icons to give them a clickable area of 48 dp
* Updated JavaDocs in UploadWorker, Fixed Test cases
* Updated JavaDocs in UploadWorker, Fixed Test cases
* Updated gradle
* Revert "Updated gradle"
This reverts commit c8979fe6dc.
* rolledback to compileSDKVersion 28, fixed tests
* Don't call the show notifications on the main thread
* Bug Fix- Duplicate contributions, handle upload stash errors
This commit is contained in:
parent
fd2a7a9c56
commit
ecbff7e3b8
36 changed files with 692 additions and 802 deletions
|
|
@ -124,7 +124,7 @@ class BookmarkPictureDaoTest {
|
|||
whenever(client.query(any(), any(), any(), any(), anyOrNull())).thenReturn(createCursor(1))
|
||||
|
||||
assertFalse(testObject.updateBookmark(exampleBookmark))
|
||||
verify(client).delete(eq(exampleBookmark.contentUri), isNull(), isNull())
|
||||
verify(client).delete(eq(exampleBookmark.contentUri!!), isNull(), isNull())
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -2,28 +2,21 @@ package fr.free.nrw.commons.contributions
|
|||
|
||||
import android.database.Cursor
|
||||
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.loader.content.CursorLoader
|
||||
import androidx.loader.content.Loader
|
||||
import com.nhaarman.mockitokotlin2.any
|
||||
import com.nhaarman.mockitokotlin2.mock
|
||||
import com.nhaarman.mockitokotlin2.verify
|
||||
import com.nhaarman.mockitokotlin2.whenever
|
||||
import io.reactivex.Completable
|
||||
import io.reactivex.Scheduler
|
||||
import io.reactivex.Single
|
||||
import io.reactivex.schedulers.TestScheduler
|
||||
import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.mockito.ArgumentMatchers
|
||||
import org.mockito.ArgumentMatchers.*
|
||||
import org.mockito.Mock
|
||||
import org.mockito.Mockito
|
||||
import org.mockito.MockitoAnnotations
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
/**
|
||||
* The unit test class for ContributionsPresenter
|
||||
|
|
@ -58,7 +51,7 @@ class ContributionsPresenterTest {
|
|||
scheduler=TestScheduler()
|
||||
cursor = Mockito.mock(Cursor::class.java)
|
||||
contribution = Mockito.mock(Contribution::class.java)
|
||||
contributionsPresenter = ContributionsPresenter(repository,scheduler,scheduler)
|
||||
contributionsPresenter = ContributionsPresenter(repository, scheduler)
|
||||
loader = Mockito.mock(CursorLoader::class.java)
|
||||
contributionsPresenter.onAttachView(view)
|
||||
liveData=MutableLiveData()
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ class RecentSearchesDaoTest {
|
|||
|
||||
testObject.save(recentSearch)
|
||||
|
||||
verify(client).update(eq(recentSearch.contentUri), captor.capture(), isNull(), isNull())
|
||||
verify(client).update(eq(recentSearch.contentUri!!), captor.capture(), isNull(), isNull())
|
||||
captor.firstValue.let { cv ->
|
||||
assertEquals(2, cv.size())
|
||||
assertEquals(recentSearch.query, cv.getAsString(COLUMN_NAME))
|
||||
|
|
|
|||
|
|
@ -1,29 +1,28 @@
|
|||
package fr.free.nrw.commons.upload
|
||||
|
||||
import android.content.ComponentName
|
||||
import android.content.ContentResolver
|
||||
import android.content.Context
|
||||
import com.nhaarman.mockitokotlin2.mock
|
||||
import com.nhaarman.mockitokotlin2.whenever
|
||||
import fr.free.nrw.commons.Media
|
||||
import fr.free.nrw.commons.auth.SessionManager
|
||||
import fr.free.nrw.commons.contributions.Contribution
|
||||
import fr.free.nrw.commons.kvstore.JsonKvStore
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.mockito.InjectMocks
|
||||
import org.mockito.Mock
|
||||
import org.mockito.Mockito.`when`
|
||||
import org.mockito.Mockito.mock
|
||||
import org.mockito.MockitoAnnotations
|
||||
|
||||
class UploadControllerTest {
|
||||
|
||||
@Mock
|
||||
internal var sessionManager: SessionManager? = null
|
||||
@Mock
|
||||
internal var context: Context? = null
|
||||
|
||||
@Mock
|
||||
internal var prefs: JsonKvStore? = null
|
||||
internal lateinit var store: JsonKvStore
|
||||
|
||||
@Mock
|
||||
internal lateinit var contentResolver: ContentResolver
|
||||
|
||||
@InjectMocks
|
||||
var uploadController: UploadController? = null
|
||||
|
|
@ -31,20 +30,6 @@ class UploadControllerTest {
|
|||
@Before
|
||||
fun setup() {
|
||||
MockitoAnnotations.initMocks(this)
|
||||
val uploadService = mock(UploadService::class.java)
|
||||
val binder = mock(UploadService.UploadServiceLocalBinder::class.java)
|
||||
`when`(binder.service).thenReturn(uploadService)
|
||||
uploadController!!.uploadServiceConnection.onServiceConnected(mock(ComponentName::class.java), binder)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun prepareService() {
|
||||
uploadController!!.prepareService()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun cleanup() {
|
||||
uploadController!!.cleanup()
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -53,6 +38,7 @@ class UploadControllerTest {
|
|||
val media = mock<Media>()
|
||||
whenever(contribution.media).thenReturn(media)
|
||||
whenever(media.author).thenReturn("Creator")
|
||||
uploadController!!.startUpload(contribution)
|
||||
whenever(context?.contentResolver).thenReturn(contentResolver)
|
||||
uploadController?.prepareMedia(contribution)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue