Skip to content

Commit d2fb3b3

Browse files
ashishkumar468misaochan
authored andcommitted
Added unit-tests for PageEditClient & ThanksClient (#3268)
1 parent fa7deb3 commit d2fb3b3

File tree

2 files changed

+116
-0
lines changed

2 files changed

+116
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package fr.free.nrw.commons.actions
2+
3+
import com.nhaarman.mockito_kotlin.eq
4+
import com.nhaarman.mockito_kotlin.verify
5+
import org.junit.Before
6+
import org.junit.Test
7+
import org.mockito.Mock
8+
import org.mockito.Mockito
9+
import org.mockito.MockitoAnnotations
10+
import org.wikipedia.csrf.CsrfTokenClient
11+
import org.wikipedia.dataclient.Service
12+
13+
class PageEditClientTest {
14+
@Mock
15+
private lateinit var csrfTokenClient: CsrfTokenClient
16+
@Mock
17+
private lateinit var pageEditInterface: PageEditInterface
18+
@Mock
19+
private lateinit var service: Service
20+
21+
private lateinit var pageEditClient: PageEditClient
22+
23+
/**
24+
* initial setup, test environment
25+
*/
26+
@Before
27+
@Throws(Exception::class)
28+
fun setUp() {
29+
MockitoAnnotations.initMocks(this)
30+
pageEditClient = PageEditClient(csrfTokenClient, pageEditInterface, service)
31+
}
32+
33+
/**
34+
* Test page edit
35+
*/
36+
@Test
37+
fun testEdit() {
38+
Mockito.`when`(csrfTokenClient.tokenBlocking).thenReturn("test")
39+
pageEditClient.edit("test", "test", "test")
40+
verify(pageEditInterface).postEdit(eq("test"), eq("test"), eq("test"), eq("test"))
41+
}
42+
43+
/**
44+
* Test appendEdit
45+
*/
46+
@Test
47+
fun testAppendEdit() {
48+
Mockito.`when`(csrfTokenClient.tokenBlocking).thenReturn("test")
49+
pageEditClient.appendEdit("test", "test", "test")
50+
verify(pageEditInterface).postAppendEdit(eq("test"), eq("test"), eq("test"), eq("test"))
51+
}
52+
53+
/**
54+
* Test prependEdit
55+
*/
56+
@Test
57+
fun testPrependEdit() {
58+
Mockito.`when`(csrfTokenClient.tokenBlocking).thenReturn("test")
59+
pageEditClient.prependEdit("test", "test", "test")
60+
verify(pageEditInterface).postPrependEdit(eq("test"), eq("test"), eq("test"), eq("test"))
61+
}
62+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package fr.free.nrw.commons.actions
2+
3+
import com.nhaarman.mockito_kotlin.eq
4+
import com.nhaarman.mockito_kotlin.verify
5+
import fr.free.nrw.commons.CommonsApplication
6+
import org.junit.Before
7+
import org.junit.Test
8+
import org.junit.runner.RunWith
9+
import org.mockito.ArgumentMatchers
10+
import org.mockito.Mock
11+
import org.mockito.Mockito
12+
import org.mockito.MockitoAnnotations
13+
import org.powermock.api.mockito.PowerMockito
14+
import org.powermock.core.classloader.annotations.PrepareForTest
15+
import org.powermock.modules.junit4.PowerMockRunner
16+
import org.wikipedia.csrf.CsrfTokenClient
17+
import org.wikipedia.dataclient.Service
18+
19+
@RunWith(PowerMockRunner::class)
20+
@PrepareForTest(CommonsApplication::class)
21+
class ThanksClientTest {
22+
@Mock
23+
private lateinit var csrfTokenClient: CsrfTokenClient
24+
@Mock
25+
private lateinit var service: Service
26+
27+
@Mock
28+
private lateinit var commonsApplication: CommonsApplication
29+
30+
private lateinit var thanksClient: ThanksClient
31+
32+
/**
33+
* initial setup, test environment
34+
*/
35+
@Before
36+
@Throws(Exception::class)
37+
fun setUp() {
38+
MockitoAnnotations.initMocks(this)
39+
PowerMockito.mockStatic(CommonsApplication::class.java)
40+
PowerMockito.`when`(CommonsApplication.getInstance()).thenReturn(commonsApplication)
41+
thanksClient = ThanksClient(csrfTokenClient, service)
42+
}
43+
44+
/**
45+
* Test thanks
46+
*/
47+
@Test
48+
fun testThanks() {
49+
Mockito.`when`(csrfTokenClient.tokenBlocking).thenReturn("test")
50+
Mockito.`when`(commonsApplication.userAgent).thenReturn("test")
51+
thanksClient.thank(1L)
52+
verify(service).thank(ArgumentMatchers.anyString(), ArgumentMatchers.any(), eq("test"), eq("test"))
53+
}
54+
}

0 commit comments

Comments
 (0)