mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Add few more tests for campaign module (#4384)
This commit is contained in:
parent
cb8a7c22da
commit
a5154fb7fe
2 changed files with 120 additions and 0 deletions
|
|
@ -0,0 +1,89 @@
|
|||
package fr.free.nrw.commons.campaigns
|
||||
|
||||
import android.app.Activity
|
||||
import android.view.View
|
||||
import fr.free.nrw.commons.TestAppAdapter
|
||||
import fr.free.nrw.commons.TestCommonsApplication
|
||||
import fr.free.nrw.commons.contributions.MainActivity
|
||||
import org.junit.Assert
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mockito.Mock
|
||||
import org.mockito.MockitoAnnotations
|
||||
import org.robolectric.Robolectric
|
||||
import org.robolectric.RobolectricTestRunner
|
||||
import org.robolectric.android.controller.ActivityController
|
||||
import org.robolectric.annotation.Config
|
||||
import org.wikipedia.AppAdapter
|
||||
import java.lang.reflect.Method
|
||||
|
||||
@RunWith(RobolectricTestRunner::class)
|
||||
@Config(sdk = [21], application = TestCommonsApplication::class)
|
||||
class CampaignViewUnitTests {
|
||||
|
||||
private lateinit var activityController: ActivityController<Activity>
|
||||
private lateinit var activity: MainActivity
|
||||
private lateinit var campaignView: CampaignView
|
||||
private lateinit var campaign: Campaign
|
||||
|
||||
@Mock
|
||||
private lateinit var view: View
|
||||
|
||||
@Before
|
||||
fun setUp() {
|
||||
MockitoAnnotations.initMocks(this)
|
||||
|
||||
AppAdapter.set(TestAppAdapter())
|
||||
|
||||
activityController = Robolectric.buildActivity(Activity::class.java)
|
||||
activity = Robolectric.buildActivity(MainActivity::class.java).create().get()
|
||||
|
||||
campaignView = CampaignView(activity)
|
||||
campaignView = CampaignView(activity, null)
|
||||
campaignView = CampaignView(activity, null, 0)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun checkNotNull() {
|
||||
Assert.assertNotNull(campaignView)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testSetCampaignNonNullNonException() {
|
||||
campaign = Campaign("", "", "2000-01-01", "2000-01-02", "")
|
||||
campaignView.setCampaign(campaign)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testSetCampaignNonNullException() {
|
||||
campaign = Campaign("", "", "", "", "")
|
||||
campaignView.setCampaign(campaign)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testSetCampaignNull() {
|
||||
campaignView.setCampaign(null)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testOnSwipe() {
|
||||
campaignView.onSwipe(view)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testInit() {
|
||||
val method: Method = CampaignView::class.java.getDeclaredMethod(
|
||||
"init"
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(campaignView)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -3,12 +3,14 @@ package fr.free.nrw.commons.campaigns
|
|||
import com.nhaarman.mockitokotlin2.verify
|
||||
import fr.free.nrw.commons.mwapi.OkHttpJsonApiClient
|
||||
import io.reactivex.Single
|
||||
import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.schedulers.TestScheduler
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.mockito.Mock
|
||||
import org.mockito.Mockito
|
||||
import org.mockito.MockitoAnnotations
|
||||
import java.lang.reflect.Field
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
import kotlin.collections.ArrayList
|
||||
|
|
@ -31,6 +33,9 @@ class CampaignsPresenterTest {
|
|||
|
||||
lateinit var testScheduler: TestScheduler
|
||||
|
||||
@Mock
|
||||
private lateinit var disposable: Disposable
|
||||
|
||||
/**
|
||||
* initial setup, test environment
|
||||
*/
|
||||
|
|
@ -74,4 +79,30 @@ class CampaignsPresenterTest {
|
|||
testScheduler.triggerActions()
|
||||
verify(view).showCampaigns(campaign)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testGetCampaignsNonNull() {
|
||||
val campaignField: Field =
|
||||
CampaignsPresenter::class.java.getDeclaredField("campaign")
|
||||
campaignField.isAccessible = true
|
||||
campaignField.set(campaignsPresenter, campaign)
|
||||
campaignsPresenter.getCampaigns()
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testOnDetachViewNull() {
|
||||
campaignsPresenter.onDetachView()
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testOnDetachViewNonNull() {
|
||||
val disposableField: Field =
|
||||
CampaignsPresenter::class.java.getDeclaredField("disposable")
|
||||
disposableField.isAccessible = true
|
||||
disposableField.set(campaignsPresenter, disposable)
|
||||
campaignsPresenter.onDetachView()
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue