mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 04:43:54 +01:00
Add few more unit tests for AchievementsFragment (#4272)
This commit is contained in:
parent
8fa26bb00c
commit
64993dfbc8
1 changed files with 199 additions and 0 deletions
|
|
@ -3,8 +3,12 @@ package fr.free.nrw.commons.profile.achievements
|
|||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.view.MenuItem
|
||||
import android.widget.ImageView
|
||||
import android.widget.ProgressBar
|
||||
import android.widget.TextView
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.fragment.app.FragmentTransaction
|
||||
import com.dinuscxj.progressbar.CircleProgressBar
|
||||
import fr.free.nrw.commons.TestAppAdapter
|
||||
import fr.free.nrw.commons.TestCommonsApplication
|
||||
import fr.free.nrw.commons.profile.ProfileActivity
|
||||
|
|
@ -14,12 +18,14 @@ import org.junit.Test
|
|||
import org.junit.runner.RunWith
|
||||
import org.mockito.Mock
|
||||
import org.mockito.MockitoAnnotations
|
||||
import org.powermock.reflect.Whitebox
|
||||
import org.robolectric.Robolectric
|
||||
import org.robolectric.RobolectricTestRunner
|
||||
import org.robolectric.RuntimeEnvironment
|
||||
import org.robolectric.annotation.Config
|
||||
import org.robolectric.fakes.RoboMenuItem
|
||||
import org.wikipedia.AppAdapter
|
||||
import java.lang.reflect.Method
|
||||
|
||||
|
||||
@RunWith(RobolectricTestRunner::class)
|
||||
|
|
@ -32,9 +38,53 @@ class AchievementsFragmentUnitTests {
|
|||
|
||||
private lateinit var menuItem: MenuItem
|
||||
|
||||
private lateinit var achievements: Achievements
|
||||
|
||||
@Mock
|
||||
private lateinit var imageView: ImageView
|
||||
|
||||
@Mock
|
||||
private lateinit var badgeText: TextView
|
||||
|
||||
@Mock
|
||||
private lateinit var levelNumber: TextView
|
||||
|
||||
@Mock
|
||||
private lateinit var thanksReceived: TextView
|
||||
|
||||
@Mock
|
||||
private lateinit var imagesUploadedProgressbar: CircleProgressBar
|
||||
|
||||
@Mock
|
||||
private lateinit var imagesUsedByWikiProgressBar: CircleProgressBar
|
||||
|
||||
@Mock
|
||||
private lateinit var imageRevertsProgressbar: CircleProgressBar
|
||||
|
||||
@Mock
|
||||
private lateinit var imagesFeatured: TextView
|
||||
|
||||
@Mock
|
||||
private lateinit var tvQualityImages: TextView
|
||||
|
||||
@Mock
|
||||
private lateinit var imagesRevertLimitText: TextView
|
||||
|
||||
@Mock
|
||||
private lateinit var imageByWikiText: TextView
|
||||
|
||||
@Mock
|
||||
private lateinit var imageRevertedText: TextView
|
||||
|
||||
@Mock
|
||||
private lateinit var imageUploadedText: TextView
|
||||
|
||||
@Mock
|
||||
private lateinit var bitmap: Bitmap
|
||||
|
||||
@Mock
|
||||
private lateinit var progressBar: ProgressBar
|
||||
|
||||
@Before
|
||||
fun setUp() {
|
||||
MockitoAnnotations.initMocks(this)
|
||||
|
|
@ -48,6 +98,39 @@ class AchievementsFragmentUnitTests {
|
|||
fragmentTransaction.add(fragment, null)
|
||||
fragmentTransaction.commit()
|
||||
|
||||
achievements = Achievements(0, 0, 0, 0, 0, 0, 0)
|
||||
|
||||
Whitebox.setInternalState(fragment, "thanksReceived", thanksReceived)
|
||||
Whitebox.setInternalState(
|
||||
fragment,
|
||||
"imagesUsedByWikiProgressBar",
|
||||
imagesUsedByWikiProgressBar
|
||||
)
|
||||
Whitebox.setInternalState(
|
||||
fragment,
|
||||
"imagesUsedByWikiProgressBar",
|
||||
imagesUsedByWikiProgressBar
|
||||
)
|
||||
Whitebox.setInternalState(fragment, "imagesFeatured", imagesFeatured)
|
||||
Whitebox.setInternalState(fragment, "tvQualityImages", tvQualityImages)
|
||||
Whitebox.setInternalState(fragment, "levelNumber", levelNumber)
|
||||
Whitebox.setInternalState(fragment, "imageView", imageView)
|
||||
Whitebox.setInternalState(fragment, "badgeText", badgeText)
|
||||
Whitebox.setInternalState(fragment, "imagesUploadedProgressbar", imagesUploadedProgressbar)
|
||||
Whitebox.setInternalState(fragment, "imageRevertsProgressbar", imageRevertsProgressbar)
|
||||
Whitebox.setInternalState(
|
||||
fragment,
|
||||
"imagesUsedByWikiProgressBar",
|
||||
imagesUsedByWikiProgressBar
|
||||
)
|
||||
Whitebox.setInternalState(fragment, "imageView", imageView)
|
||||
Whitebox.setInternalState(fragment, "imageByWikiText", imageByWikiText)
|
||||
Whitebox.setInternalState(fragment, "imageRevertedText", imageRevertedText)
|
||||
Whitebox.setInternalState(fragment, "imageUploadedText", imageUploadedText)
|
||||
Whitebox.setInternalState(fragment, "imageView", imageView)
|
||||
Whitebox.setInternalState(fragment, "progressBar", progressBar)
|
||||
Whitebox.setInternalState(fragment, "imagesRevertLimitText", imagesRevertLimitText)
|
||||
Whitebox.setInternalState(fragment, "item", menuItem)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -117,4 +200,120 @@ class AchievementsFragmentUnitTests {
|
|||
fragment.onOptionsItemSelected(menuItem)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testLaunchAlert() {
|
||||
val method: Method = AchievementsFragment::class.java.getDeclaredMethod(
|
||||
"launchAlert",
|
||||
String::class.java,
|
||||
String::class.java
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(fragment, "", "")
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testHideProgressBar() {
|
||||
val method: Method = AchievementsFragment::class.java.getDeclaredMethod(
|
||||
"hideProgressBar",
|
||||
Achievements::class.java
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(fragment, achievements)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testSetAchievementsUploadCount() {
|
||||
val method: Method = AchievementsFragment::class.java.getDeclaredMethod(
|
||||
"setAchievementsUploadCount",
|
||||
Achievements::class.java,
|
||||
Int::class.java
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(fragment, achievements, 0)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testCheckAccount() {
|
||||
val method: Method = AchievementsFragment::class.java.getDeclaredMethod(
|
||||
"checkAccount"
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(fragment)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testSetUploadCount() {
|
||||
val method: Method = AchievementsFragment::class.java.getDeclaredMethod(
|
||||
"setUploadCount",
|
||||
Achievements::class.java
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(fragment, achievements)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testOnError() {
|
||||
val method: Method = AchievementsFragment::class.java.getDeclaredMethod(
|
||||
"onError"
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(fragment)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testShowSnackBarWithRetryTrue() {
|
||||
val method: Method = AchievementsFragment::class.java.getDeclaredMethod(
|
||||
"showSnackBarWithRetry", Boolean::class.java
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(fragment, true)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testShowSnackBarWithRetryFalse() {
|
||||
val method: Method = AchievementsFragment::class.java.getDeclaredMethod(
|
||||
"showSnackBarWithRetry", Boolean::class.java
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(fragment, false)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testSetWikidataEditCount() {
|
||||
val method: Method = AchievementsFragment::class.java.getDeclaredMethod(
|
||||
"setWikidataEditCount"
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(fragment)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testSetAchievements() {
|
||||
val method: Method = AchievementsFragment::class.java.getDeclaredMethod(
|
||||
"setAchievements"
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(fragment)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testShareScreen() {
|
||||
val method: Method = AchievementsFragment::class.java.getDeclaredMethod(
|
||||
"shareScreen", Bitmap::class.java
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(fragment, bitmap)
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue