Skip to content

Commit b52d053

Browse files
authored
5121: Fix RecentLanguagesAdapterUnitTest (commons-app#5124)
- all tests are passing - additionally removed 'context' variable from AdvanceQueryFragmentUnitTests.kt as it is not used, and not removed on previous PR commons-app#5119
1 parent afa7a63 commit b52d053

File tree

2 files changed

+18
-24
lines changed

2 files changed

+18
-24
lines changed

app/src/test/kotlin/fr/free/nrw/commons/nearby/AdvanceQueryFragmentUnitTests.kt

-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package fr.free.nrw.commons.nearby
22

3-
import android.content.Context
43
import android.os.Bundle
54
import android.os.Looper
65
import android.view.LayoutInflater
@@ -26,7 +25,6 @@ import org.mockito.MockitoAnnotations
2625
import org.powermock.reflect.Whitebox
2726
import org.robolectric.Robolectric
2827
import org.robolectric.RobolectricTestRunner
29-
import org.robolectric.RuntimeEnvironment
3028
import org.robolectric.Shadows
3129
import org.robolectric.annotation.Config
3230
import org.robolectric.annotation.LooperMode
@@ -38,7 +36,6 @@ import org.wikipedia.AppAdapter
3836
class AdvanceQueryFragmentUnitTests {
3937

4038
private lateinit var view: View
41-
private lateinit var context: Context
4239
private lateinit var activity: MainActivity
4340
private lateinit var layoutInflater: LayoutInflater
4441
private lateinit var fragment: AdvanceQueryFragment
@@ -63,7 +60,6 @@ class AdvanceQueryFragmentUnitTests {
6360
@Before
6461
fun setUp() {
6562
MockitoAnnotations.initMocks(this)
66-
context = RuntimeEnvironment.getApplication().applicationContext
6763
AppAdapter.set(TestAppAdapter())
6864
activity = Robolectric.buildActivity(MainActivity::class.java).create().get()
6965

app/src/test/kotlin/fr/free/nrw/commons/recentlanguages/RecentLanguagesAdapterUnitTest.kt

+18-20
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
package fr.free.nrw.commons.recentlanguages
22

33
import android.content.Context
4+
import android.view.LayoutInflater
45
import android.view.View
56
import android.view.ViewGroup
6-
import android.widget.TextView
7-
import com.nhaarman.mockitokotlin2.whenever
87
import fr.free.nrw.commons.TestCommonsApplication
98
import kotlinx.android.synthetic.main.row_item_languages_spinner.view.*
109
import org.junit.Assert
1110
import org.junit.Before
1211
import org.junit.Test
1312
import org.junit.runner.RunWith
1413
import org.mockito.Mock
14+
import fr.free.nrw.commons.R
15+
import fr.free.nrw.commons.contributions.MainActivity
1516
import org.mockito.MockitoAnnotations
17+
import org.robolectric.Robolectric
1618
import org.robolectric.RobolectricTestRunner
19+
import org.robolectric.RuntimeEnvironment
1720
import org.robolectric.annotation.Config
1821
import org.robolectric.annotation.LooperMode
1922
import java.lang.reflect.Field
@@ -23,24 +26,25 @@ import java.lang.reflect.Field
2326
@LooperMode(LooperMode.Mode.PAUSED)
2427
class RecentLanguagesAdapterUnitTest {
2528

26-
private lateinit var adapter: RecentLanguagesAdapter
27-
private lateinit var languages: List<Language>
28-
29-
@Mock
3029
private lateinit var context: Context
31-
32-
@Mock
33-
private lateinit var viewGroup: ViewGroup
34-
35-
@Mock
3630
private lateinit var convertView: View
31+
private lateinit var activity: MainActivity
32+
private lateinit var adapter: RecentLanguagesAdapter
33+
private lateinit var languages: List<Language>
3734

3835
@Mock
39-
private lateinit var textView: TextView
36+
private lateinit var parent: ViewGroup
4037

4138
@Before
4239
fun setUp() {
4340
MockitoAnnotations.initMocks(this)
41+
42+
context = RuntimeEnvironment.getApplication().applicationContext
43+
44+
activity = Robolectric.buildActivity(MainActivity::class.java).get()
45+
46+
convertView = LayoutInflater.from(context).inflate(R.layout.row_item_languages_spinner, null) as View
47+
4448
languages = listOf(
4549
Language("English", "en"),
4650
Language("Bengali", "bn")
@@ -91,13 +95,7 @@ class RecentLanguagesAdapterUnitTest {
9195
@Test
9296
@Throws(Exception::class)
9397
fun testGetView() {
94-
val list = languages
95-
whenever(convertView.tv_language).thenReturn(textView)
96-
val recentLanguagesAdapter: Field =
97-
RecentLanguagesAdapter::class.java.getDeclaredField("recentLanguages")
98-
recentLanguagesAdapter.isAccessible = true
99-
recentLanguagesAdapter.set(adapter, list)
100-
Assert.assertEquals(adapter.getView(0, convertView, viewGroup), convertView)
98+
Assert.assertEquals(adapter.getView(0, convertView, parent), convertView)
10199
}
102100

103101
@Test
@@ -111,4 +109,4 @@ class RecentLanguagesAdapterUnitTest {
111109
val languageCode = list[0].languageCode
112110
Assert.assertEquals(adapter.getLanguageCode(0), languageCode)
113111
}
114-
}
112+
}

0 commit comments

Comments
 (0)