Fix Crash EditDescriptionActivity when switched dark/light mode (#5503)

* Fix Crash EditDescriptionActivity when switched dark/light mode

* tests added

* fix

* code cleanup

* code cleanup

* Fix

* Fix
This commit is contained in:
Shashank Kumar 2024-03-31 12:06:41 +05:30 committed by GitHub
parent 5a508ae417
commit 82b97fc49f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 90 additions and 18 deletions

View file

@ -11,6 +11,7 @@ import android.view.LayoutInflater
import android.view.View
import androidx.recyclerview.widget.RecyclerView
import androidx.test.core.app.ApplicationProvider
import fr.free.nrw.commons.Media
import fr.free.nrw.commons.R
import fr.free.nrw.commons.TestCommonsApplication
import fr.free.nrw.commons.databinding.ActivityDescriptionEditBinding
@ -55,6 +56,8 @@ class DescriptionEditActivityUnitTest {
@Mock
private lateinit var rvDescriptions: RecyclerView
private lateinit var media: Media
@Before
@Throws(Exception::class)
fun setUp() {
@ -62,11 +65,15 @@ class DescriptionEditActivityUnitTest {
context = ApplicationProvider.getApplicationContext()
uploadMediaDetails = mutableListOf(UploadMediaDetail("en", "desc"))
as ArrayList<UploadMediaDetail>
media = Media("filename", "creator", "url", "thumburl",
"localpath", Date(197000), "extmetadata")
val intent = Intent().putExtra("title", "read")
val bundle = Bundle()
bundle.putParcelableArrayList(LIST_OF_DESCRIPTION_AND_CAPTION, uploadMediaDetails)
bundle.putString(WIKITEXT, "desc")
bundle.putString(Prefs.DESCRIPTION_LANGUAGE, "bn")
bundle.putParcelable("media", media)
intent.putExtras(bundle)
activity =
Robolectric.buildActivity(DescriptionEditActivity::class.java, intent).create().get()
@ -78,6 +85,8 @@ class DescriptionEditActivityUnitTest {
Whitebox.setInternalState(activity, "rvDescriptions", rvDescriptions)
Whitebox.setInternalState(activity, "binding", binding)
Whitebox.setInternalState(activity, "savedLanguageValue", "bn")
Whitebox.setInternalState(activity, "media", media)
Whitebox.setInternalState(activity,"descriptionAndCaptions",uploadMediaDetails)
`when`(uploadMediaDetailAdapter.items).thenReturn(uploadMediaDetails)
}
@ -164,4 +173,4 @@ class DescriptionEditActivityUnitTest {
assertEquals(dialog.isShowing, true)
}
}
}