Skip to content

Commit cc52bc5

Browse files
Merge pull request #13 from ashwini009/remove-jetifier
Disable Jetifier to move purely on AndroidX
2 parents bc9f285 + 28a56bb commit cc52bc5

File tree

7 files changed

+34
-32
lines changed

7 files changed

+34
-32
lines changed

app/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ dependencies {
138138
androidTestImplementation(Deps.Mockito.android)
139139
testImplementation(Deps.Mockito.kotlin)
140140
testImplementation(Deps.Mockito.inline)
141-
testImplementation(Deps.robolectric)
142141
testImplementation(Deps.AndroidX.Test.arch_core_testing)
143142
testImplementation(Deps.AndroidX.Test.core)
144143
androidTestImplementation(Deps.AndroidX.Test.runner)
@@ -149,6 +148,7 @@ dependencies {
149148
androidTestImplementation(Deps.AndroidX.Test.Espresso.idling_resource)
150149
androidTestImplementation(Deps.AndroidX.Test.rules)
151150
testImplementation(Deps.truth)
151+
androidTestImplementation(Deps.truth)
152152
testImplementation(Deps.Coroutines.test)
153153
// end-region Test
154154

app/src/test/java/com/android/tvmaze/favorites/FavoriteShowsRepositoryTest.kt renamed to app/src/androidTest/java/com/android/tvmaze/favorites/FavoritesRepositoryTest.kt

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,45 +2,42 @@ package com.android.tvmaze.favorites
22

33
import android.content.Context
44
import androidx.room.Room
5+
import androidx.test.core.app.ApplicationProvider
6+
import androidx.test.ext.junit.runners.AndroidJUnit4
7+
import androidx.test.filters.LargeTest
58
import com.android.tvmaze.db.TvMazeDatabase
69
import com.android.tvmaze.db.favouriteshow.ShowDao
710
import com.android.tvmaze.favorite.FavoriteShowsRepository
8-
import com.android.tvmaze.utils.TestUtil
11+
import com.android.tvmaze.utils.TestUtils
912
import com.google.common.truth.Truth.assertThat
1013
import kotlinx.coroutines.runBlocking
1114
import org.junit.After
1215
import org.junit.Before
1316
import org.junit.Test
1417
import org.junit.runner.RunWith
15-
import org.mockito.Mock
16-
import org.mockito.MockitoAnnotations
17-
import org.robolectric.RobolectricTestRunner
18-
import org.robolectric.annotation.Config
1918
import java.io.IOException
2019

21-
@RunWith(RobolectricTestRunner::class)
22-
@Config(manifest = Config.NONE)
23-
class FavoriteShowsRepositoryTest {
24-
@Mock
25-
private lateinit var context: Context
20+
@LargeTest
21+
@RunWith(AndroidJUnit4::class)
22+
class FavoritesRepositoryTest {
2623
private lateinit var favoriteShowsRepository: FavoriteShowsRepository
2724
private lateinit var tvMazeDb: TvMazeDatabase
2825
private lateinit var showDao: ShowDao
2926

3027
@Before
3128
fun setup() {
32-
MockitoAnnotations.initMocks(this)
29+
val context = ApplicationProvider.getApplicationContext<Context>()
3330
tvMazeDb = Room.inMemoryDatabaseBuilder(
3431
context, TvMazeDatabase::class.java
35-
).build()
32+
).allowMainThreadQueries().build()
3633
showDao = tvMazeDb.showDao()
3734
favoriteShowsRepository = FavoriteShowsRepository(showDao)
3835
}
3936

4037
@Test
4138
fun testShowInsertionInDb() {
4239
runBlocking {
43-
favoriteShowsRepository.insertIntoFavorites(TestUtil.getFakeShow())
40+
favoriteShowsRepository.insertIntoFavorites(TestUtils.getFakeShow())
4441
val favShows = favoriteShowsRepository.allFavoriteShows()
4542
assertThat(favShows.isNotEmpty()).isTrue()
4643
}
@@ -57,7 +54,7 @@ class FavoriteShowsRepositoryTest {
5754
@Test
5855
fun testFavoriteShows() {
5956
runBlocking {
60-
val fakeShow = TestUtil.getFakeShow()
57+
val fakeShow = TestUtils.getFakeShow()
6158
favoriteShowsRepository.insertIntoFavorites(fakeShow)
6259
val favoriteShows = favoriteShowsRepository.allFavoriteShows()
6360
assertThat(favoriteShows[0] == fakeShow).isTrue()
@@ -66,7 +63,7 @@ class FavoriteShowsRepositoryTest {
6663

6764
@After
6865
@Throws(IOException::class)
69-
fun closeDb() {
66+
fun release() {
7067
tvMazeDb.close()
7168
}
7269
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.android.tvmaze.utils
2+
3+
import com.android.tvmaze.db.favouriteshow.FavoriteShow
4+
5+
object TestUtils {
6+
fun getFakeShow(): FavoriteShow {
7+
return FavoriteShow(
8+
id = 222, name = "Friends",
9+
premiered = "Aug 2002", imageUrl = null,
10+
summary = "Friends for life!", rating = "10 stars",
11+
runtime = 132000, isFavorite = true
12+
)
13+
}
14+
}

app/src/test/java/com/android/tvmaze/home/HomeViewModelTest.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,16 @@ import com.google.common.truth.Truth.assertThat
1111
import com.nhaarman.mockitokotlin2.whenever
1212
import kotlinx.coroutines.ExperimentalCoroutinesApi
1313
import kotlinx.coroutines.test.runBlockingTest
14+
import org.junit.After
1415
import org.junit.Before
1516
import org.junit.Rule
1617
import org.junit.Test
17-
import org.junit.runner.RunWith
1818
import org.mockito.InjectMocks
1919
import org.mockito.Mock
20+
import org.mockito.Mockito
2021
import org.mockito.MockitoAnnotations
21-
import org.robolectric.RobolectricTestRunner
2222

2323
@ExperimentalCoroutinesApi
24-
@RunWith(RobolectricTestRunner::class)
2524
class HomeViewModelTest {
2625
// Executes tasks in the Architecture Components in the same thread
2726
@get:Rule
@@ -131,4 +130,9 @@ class HomeViewModelTest {
131130
}
132131
}
133132
}
133+
134+
@After
135+
fun release() {
136+
Mockito.framework().clearInlineMocks()
137+
}
134138
}

app/src/test/java/com/android/tvmaze/utils/TestUtil.kt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.android.tvmaze.utils
22

3-
import com.android.tvmaze.db.favouriteshow.FavoriteShow
43
import com.android.tvmaze.home.HomeViewData
54
import com.android.tvmaze.network.home.Episode
65
import com.android.tvmaze.network.home.Show
@@ -63,13 +62,4 @@ object TestUtil {
6362
episodeList.add(episode2)
6463
return episodeList
6564
}
66-
67-
fun getFakeShow(): FavoriteShow {
68-
return FavoriteShow(
69-
id = 222, name = "Friends",
70-
premiered = "Aug 2002", imageUrl = null,
71-
summary = "Friends for life!", rating = "10 stars",
72-
runtime = 132000, isFavorite = true
73-
)
74-
}
7565
}

buildSrc/src/main/kotlin/Dependencies.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ object Deps {
2121
const val timber = "4.7.1"
2222
const val mockito_kotlin = "2.2.0"
2323
const val arch_core_testing = "2.0.0"
24-
const val robolectric = "4.3.1"
2524
const val moshi = "1.9.2"
2625
const val coroutines = "1.3.7"
2726
const val truth = "1.0.1"
@@ -42,7 +41,6 @@ object Deps {
4241
const val timber = "com.jakewharton.timber:timber:${Versions.timber}"
4342

4443
const val junit = "junit:junit:${Versions.junit}"
45-
const val robolectric = "org.robolectric:robolectric:${Versions.robolectric}"
4644

4745
object Google {
4846
const val material = "com.google.android.material:material:${Versions.material}"

gradle.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ org.gradle.jvmargs=-Xmx2048m -XX\:MaxPermSize\=2048m -XX\:+HeapDumpOnOutOfMemory
1313
org.gradle.parallel=true
1414
# Google Play and Firebase dependencies are migrating to androidX. This is to fix the duplicate class resolution build error to use the androidX libraries
1515
android.useAndroidX=true
16-
android.enableJetifier=true
1716
# All kapt to use workers
1817
kapt.use.worker.api=true
1918
kapt.incremental.apt=true

0 commit comments

Comments
 (0)