--- a/app/src/test/java/com/geekorum/ttrss/BatteryFriendlyActivityTest.kt Fri Jul 05 12:02:06 2019 -0700
+++ b/app/src/test/java/com/geekorum/ttrss/BatteryFriendlyActivityTest.kt Fri Jul 05 14:00:13 2019 -0700
@@ -71,7 +71,7 @@
fun testThatWhenPowerSaveIsOnNightModeConfigurationIsUsed() {
val scenario = ActivityScenario.launch(BatteryFriendlyActivityRecordNightModeChanged::class.java)
scenario.onActivity {
- assertThat(it.nightMode).isEqualTo(MODE_NIGHT_FOLLOW_SYSTEM)
+ assertThat(it.nightMode).isEqualTo(MODE_NIGHT_UNSPECIFIED)
}
val powerManager = Shadows.shadowOf(application.getSystemService<PowerManager>())
@@ -87,7 +87,7 @@
fun testThatWhenBatteryIsLowNightModeConfigurationIsUsed() {
val scenario = ActivityScenario.launch(BatteryFriendlyActivityRecordNightModeChanged::class.java)
scenario.onActivity {
- assertThat(it.nightMode).isEqualTo(MODE_NIGHT_FOLLOW_SYSTEM)
+ assertThat(it.nightMode).isEqualTo(MODE_NIGHT_UNSPECIFIED)
}
val application = ApplicationProvider.getApplicationContext<Application>()
--- a/build.gradle.kts Fri Jul 05 12:02:06 2019 -0700
+++ b/build.gradle.kts Fri Jul 05 14:00:13 2019 -0700
@@ -27,9 +27,9 @@
id("com.google.android.gms.oss-licenses-plugin") version "0.9.5.1" apply false
id("com.google.gms.google-services") version "3.2.0" apply false
id("io.fabric") version "1.29.0" apply false
- kotlin("android") version "1.3.40" apply false
- kotlin("kapt") version "1.3.40" apply false
- id("kotlinx-serialization") version "1.3.40" apply false
+ kotlin("android") version "1.3.41" apply false
+ kotlin("kapt") version "1.3.41" apply false
+ id("kotlinx-serialization") version "1.3.41" apply false
id("androidx.navigation.safeargs.kotlin") version "2.1.0-alpha06" apply false
}
@@ -38,7 +38,7 @@
extra["compileSdkVersion"] = "android-29"
extra["daggerVersion"] = "2.21"
extra["lifecycleVersion"] = "2.2.0-alpha01"
-extra["kotlinVersion"] = "1.3.40"
+extra["kotlinVersion"] = "1.3.41"
extra["coroutinesVersion"] = "1.3.0-M2"
--- a/manage_feeds/src/androidTest/java/com/geekorum/ttrss/manage_feeds/add_feed/EnterFeedUrlFragmentTest.kt Fri Jul 05 12:02:06 2019 -0700
+++ b/manage_feeds/src/androidTest/java/com/geekorum/ttrss/manage_feeds/add_feed/EnterFeedUrlFragmentTest.kt Fri Jul 05 14:00:13 2019 -0700
@@ -30,11 +30,11 @@
import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.work.WorkManager
-import androidx.work.WorkRequest
import com.geekorum.geekdroid.app.lifecycle.Event
import com.geekorum.ttrss.manage_feeds.R
import com.google.android.material.textfield.TextInputLayout
import io.mockk.mockk
+import io.mockk.spyk
import io.mockk.verify
import junit.framework.AssertionFailedError
import org.junit.runner.RunWith
@@ -56,7 +56,7 @@
fun setUp() {
framentFactory = mockk()
workManager = mockk(relaxed = true)
- subscribeToFeedViewModel = SubscribeToFeedViewModel(mockk(), workManager, mockk())
+ subscribeToFeedViewModel = spyk(SubscribeToFeedViewModel(mockk(), workManager, mockk()))
navController = mockk(relaxed = true)
viewModelFactory = object : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
@@ -142,7 +142,11 @@
subscribeToFeedViewModel._feedsFound.value = listOf(FeedsFinder.FeedResult(FeedsFinder.Source.URL, "url"))
}
- verify { workManager.enqueue(any<WorkRequest>()) }
+ verify {
+ // enqueue() is final and cannot be mocked on api < 28, so we spy the call to subscribeToFeed instead
+ // workManager.enqueue(any<WorkRequest>())
+ subscribeToFeedViewModel.subscribeToFeed(any())
+ }
}
@Test
--- a/manage_feeds/src/main/java/com/geekorum/ttrss/manage_feeds/add_feed/SubscribeToFeedViewModel.kt Fri Jul 05 12:02:06 2019 -0700
+++ b/manage_feeds/src/main/java/com/geekorum/ttrss/manage_feeds/add_feed/SubscribeToFeedViewModel.kt Fri Jul 05 14:00:13 2019 -0700
@@ -42,7 +42,8 @@
import javax.inject.Inject
-class SubscribeToFeedViewModel @Inject constructor(
+// open for mocking in androidTests
+open class SubscribeToFeedViewModel @Inject constructor(
private val feedsFinder: FeedsFinder,
private val workManager: WorkManager,
private val account: Account
@@ -85,7 +86,7 @@
}
- fun subscribeToFeed(feedInfo: FeedInformation) {
+ open fun subscribeToFeed(feedInfo: FeedInformation) {
subscribeToFeed(account, feedInfo.href)
}