mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 04:43:54 +01:00
Set Wallpaper in background (#5665)
* Worker added for setting up wallpaper * Fix crash * Fix test * Fix test
This commit is contained in:
parent
a7a2125e1d
commit
4c687b4335
5 changed files with 190 additions and 61 deletions
|
|
@ -9,6 +9,7 @@ import android.view.MenuItem
|
|||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.fragment.app.FragmentTransaction
|
||||
import androidx.test.core.app.ApplicationProvider
|
||||
import androidx.work.testing.WorkManagerTestInitHelper
|
||||
import com.facebook.drawee.backends.pipeline.Fresco
|
||||
import com.facebook.soloader.SoLoader
|
||||
import com.nhaarman.mockitokotlin2.any
|
||||
|
|
@ -79,8 +80,11 @@ class MediaDetailPagerFragmentUnitTests {
|
|||
|
||||
MockitoAnnotations.openMocks(this)
|
||||
|
||||
|
||||
context = ApplicationProvider.getApplicationContext()
|
||||
|
||||
WorkManagerTestInitHelper.initializeTestWorkManager(context)
|
||||
|
||||
OkHttpConnectionFactory.CLIENT = createTestClient()
|
||||
|
||||
SoLoader.setInTestMode()
|
||||
|
|
|
|||
|
|
@ -3,14 +3,22 @@ package fr.free.nrw.commons.utils
|
|||
import android.app.ProgressDialog
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.net.Uri
|
||||
import androidx.test.core.app.ApplicationProvider
|
||||
import androidx.work.Data
|
||||
import androidx.work.ListenableWorker
|
||||
import androidx.work.WorkManager
|
||||
import androidx.work.testing.TestListenableWorkerBuilder
|
||||
import androidx.work.testing.WorkManagerTestInitHelper
|
||||
import fr.free.nrw.commons.TestCommonsApplication
|
||||
import fr.free.nrw.commons.contributions.SetWallpaperWorker
|
||||
import fr.free.nrw.commons.location.LatLng
|
||||
import fr.free.nrw.commons.mwapi.OkHttpJsonApiClient
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
import org.junit.Assert
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.jupiter.api.Assertions.assertTrue
|
||||
import org.junit.runner.RunWith
|
||||
import org.mockito.Mock
|
||||
import org.mockito.Mockito.mock
|
||||
|
|
@ -24,6 +32,7 @@ import java.lang.reflect.Field
|
|||
import java.lang.reflect.Method
|
||||
|
||||
|
||||
|
||||
@RunWith(RobolectricTestRunner::class)
|
||||
@Config(sdk = [21], application = TestCommonsApplication::class)
|
||||
@LooperMode(LooperMode.Mode.PAUSED)
|
||||
|
|
@ -31,9 +40,6 @@ class ImageUtilsTest {
|
|||
|
||||
private lateinit var context: Context
|
||||
|
||||
@Mock
|
||||
private lateinit var bitmap: Bitmap
|
||||
|
||||
@Mock
|
||||
private lateinit var progressDialogWallpaper: ProgressDialog
|
||||
|
||||
|
|
@ -43,10 +49,18 @@ class ImageUtilsTest {
|
|||
@Mock
|
||||
private lateinit var compositeDisposable: CompositeDisposable
|
||||
|
||||
@Mock
|
||||
private lateinit var imageUri: Uri
|
||||
|
||||
private lateinit var workManager: WorkManager
|
||||
|
||||
@Before
|
||||
fun setup() {
|
||||
MockitoAnnotations.openMocks(this)
|
||||
context = ApplicationProvider.getApplicationContext()
|
||||
|
||||
WorkManagerTestInitHelper.initializeTestWorkManager(context)
|
||||
workManager = WorkManager.getInstance(context)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -87,20 +101,13 @@ class ImageUtilsTest {
|
|||
fun testSetWallpaper() {
|
||||
val mockImageUtils = mock(ImageUtils::class.java)
|
||||
val method: Method = ImageUtils::class.java.getDeclaredMethod(
|
||||
"setWallpaper",
|
||||
"enqueueSetWallpaperWork",
|
||||
Context::class.java,
|
||||
Bitmap::class.java
|
||||
Uri::class.java
|
||||
)
|
||||
method.isAccessible = true
|
||||
|
||||
`when`(progressDialogWallpaper.isShowing).thenReturn(true)
|
||||
|
||||
val progressDialogWallpaperField: Field =
|
||||
ImageUtils::class.java.getDeclaredField("progressDialogWallpaper")
|
||||
progressDialogWallpaperField.isAccessible = true
|
||||
progressDialogWallpaperField.set(mockImageUtils, progressDialogWallpaper)
|
||||
|
||||
method.invoke(mockImageUtils, context, bitmap)
|
||||
method.invoke(mockImageUtils, context, imageUri)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -190,5 +197,4 @@ class ImageUtilsTest {
|
|||
method.isAccessible = true
|
||||
method.invoke(mockImageUtils, null)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue