CommonsApplication migrate to kotlin & some lint fixes (#5879)

* convert to kotlin

Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>

* use lateinit instead of nullable types

Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>

* instance property access fix

Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>

* refactor constants name with uppercased ones

Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>

* remove unused

Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>

* fix imports in test

Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>

* use mockk for kotlin to fix tests

Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>

---------

Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
This commit is contained in:
Parneet Singh 2024-10-26 19:49:34 +05:30 committed by GitHub
parent 7c58891892
commit bc065c8792
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 436 additions and 445 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.getInstance()).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))

View file

@ -10,7 +10,7 @@ import com.nhaarman.mockitokotlin2.eq
import com.nhaarman.mockitokotlin2.mock
import com.nhaarman.mockitokotlin2.times
import com.nhaarman.mockitokotlin2.whenever
import fr.free.nrw.commons.CommonsApplication.DEFAULT_EDIT_SUMMARY
import fr.free.nrw.commons.CommonsApplication.Companion.DEFAULT_EDIT_SUMMARY
import fr.free.nrw.commons.auth.csrf.CsrfTokenClient
import fr.free.nrw.commons.contributions.ChunkInfo
import fr.free.nrw.commons.contributions.Contribution