Added unit-tests for PageEditClient & ThanksClient (#3268)

This commit is contained in:
Ashish Kumar 2019-12-04 12:57:06 +05:30 committed by Josephine Lim
parent fa7deb3d34
commit d2fb3b36e7
2 changed files with 116 additions and 0 deletions

View file

@ -0,0 +1,62 @@
package fr.free.nrw.commons.actions
import com.nhaarman.mockito_kotlin.eq
import com.nhaarman.mockito_kotlin.verify
import org.junit.Before
import org.junit.Test
import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.MockitoAnnotations
import org.wikipedia.csrf.CsrfTokenClient
import org.wikipedia.dataclient.Service
class PageEditClientTest {
@Mock
private lateinit var csrfTokenClient: CsrfTokenClient
@Mock
private lateinit var pageEditInterface: PageEditInterface
@Mock
private lateinit var service: Service
private lateinit var pageEditClient: PageEditClient
/**
* initial setup, test environment
*/
@Before
@Throws(Exception::class)
fun setUp() {
MockitoAnnotations.initMocks(this)
pageEditClient = PageEditClient(csrfTokenClient, pageEditInterface, service)
}
/**
* Test page edit
*/
@Test
fun testEdit() {
Mockito.`when`(csrfTokenClient.tokenBlocking).thenReturn("test")
pageEditClient.edit("test", "test", "test")
verify(pageEditInterface).postEdit(eq("test"), eq("test"), eq("test"), eq("test"))
}
/**
* Test appendEdit
*/
@Test
fun testAppendEdit() {
Mockito.`when`(csrfTokenClient.tokenBlocking).thenReturn("test")
pageEditClient.appendEdit("test", "test", "test")
verify(pageEditInterface).postAppendEdit(eq("test"), eq("test"), eq("test"), eq("test"))
}
/**
* Test prependEdit
*/
@Test
fun testPrependEdit() {
Mockito.`when`(csrfTokenClient.tokenBlocking).thenReturn("test")
pageEditClient.prependEdit("test", "test", "test")
verify(pageEditInterface).postPrependEdit(eq("test"), eq("test"), eq("test"), eq("test"))
}
}

View file

@ -0,0 +1,54 @@
package fr.free.nrw.commons.actions
import com.nhaarman.mockito_kotlin.eq
import com.nhaarman.mockito_kotlin.verify
import fr.free.nrw.commons.CommonsApplication
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers
import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.MockitoAnnotations
import org.powermock.api.mockito.PowerMockito
import org.powermock.core.classloader.annotations.PrepareForTest
import org.powermock.modules.junit4.PowerMockRunner
import org.wikipedia.csrf.CsrfTokenClient
import org.wikipedia.dataclient.Service
@RunWith(PowerMockRunner::class)
@PrepareForTest(CommonsApplication::class)
class ThanksClientTest {
@Mock
private lateinit var csrfTokenClient: CsrfTokenClient
@Mock
private lateinit var service: Service
@Mock
private lateinit var commonsApplication: CommonsApplication
private lateinit var thanksClient: ThanksClient
/**
* initial setup, test environment
*/
@Before
@Throws(Exception::class)
fun setUp() {
MockitoAnnotations.initMocks(this)
PowerMockito.mockStatic(CommonsApplication::class.java)
PowerMockito.`when`(CommonsApplication.getInstance()).thenReturn(commonsApplication)
thanksClient = ThanksClient(csrfTokenClient, service)
}
/**
* Test thanks
*/
@Test
fun testThanks() {
Mockito.`when`(csrfTokenClient.tokenBlocking).thenReturn("test")
Mockito.`when`(commonsApplication.userAgent).thenReturn("test")
thanksClient.thank(1L)
verify(service).thank(ArgumentMatchers.anyString(), ArgumentMatchers.any(), eq("test"), eq("test"))
}
}