use mockk for kotlin to fix tests

Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
This commit is contained in:
parneet-guraya 2024-10-24 15:50:15 +05:30
parent ae49ba4859
commit 72398f4099
No known key found for this signature in database
GPG key ID: 63B807C4B2A9064B
2 changed files with 12 additions and 3 deletions

View file

@ -4,6 +4,8 @@ import com.nhaarman.mockitokotlin2.eq
import com.nhaarman.mockitokotlin2.verify
import fr.free.nrw.commons.CommonsApplication
import fr.free.nrw.commons.auth.csrf.CsrfTokenClient
import io.mockk.every
import io.mockk.mockkObject
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
@ -29,7 +31,6 @@ class ThanksClientTest {
private lateinit var commonsApplication: CommonsApplication
private lateinit var thanksClient: ThanksClient
private lateinit var mockedApplication: MockedStatic<CommonsApplication>
/**
* initial setup, test environment
@ -38,8 +39,8 @@ class ThanksClientTest {
@Throws(Exception::class)
fun setUp() {
MockitoAnnotations.openMocks(this)
mockedApplication = Mockito.mockStatic(CommonsApplication::class.java)
`when`(CommonsApplication.instance).thenReturn(commonsApplication)
mockkObject(CommonsApplication)
every { CommonsApplication.instance }.returns(commonsApplication)
thanksClient = ThanksClient(csrfTokenClient, service)
}

View file

@ -10,6 +10,7 @@ import android.os.Looper
import android.view.LayoutInflater
import android.view.View
import androidx.recyclerview.widget.RecyclerView
import fr.free.nrw.commons.CommonsApplication
import fr.free.nrw.commons.Media
import fr.free.nrw.commons.R
import fr.free.nrw.commons.TestCommonsApplication
@ -19,6 +20,8 @@ import fr.free.nrw.commons.description.EditDescriptionConstants.WIKITEXT
import fr.free.nrw.commons.settings.Prefs
import fr.free.nrw.commons.upload.UploadMediaDetail
import fr.free.nrw.commons.upload.UploadMediaDetailAdapter
import io.mockk.every
import io.mockk.mockkObject
import org.junit.Assert
import org.junit.Assert.assertEquals
import org.junit.Before
@ -54,6 +57,9 @@ class DescriptionEditActivityUnitTest {
@Mock
private lateinit var rvDescriptions: RecyclerView
@Mock
private lateinit var commonsApplication: CommonsApplication
private lateinit var media: Media
@Before
@ -82,6 +88,8 @@ class DescriptionEditActivityUnitTest {
bundle.putString(Prefs.DESCRIPTION_LANGUAGE, "bn")
bundle.putParcelable("media", media)
intent.putExtras(bundle)
mockkObject(CommonsApplication)
every { CommonsApplication.instance }.returns(commonsApplication)
activity =
Robolectric.buildActivity(DescriptionEditActivity::class.java, intent).create().get()
binding = ActivityDescriptionEditBinding.inflate(LayoutInflater.from(activity))