mirror of
https://github.com/afollestad/nock-nock.git
synced 2025-08-25 11:48:21 +00:00
Add site view model should have default values
This commit is contained in:
parent
fc6bdf1c39
commit
76a5a46454
2 changed files with 26 additions and 3 deletions
|
@ -18,9 +18,11 @@ package com.afollestad.nocknock.ui.addsite
|
|||
import androidx.annotation.CheckResult
|
||||
import androidx.annotation.VisibleForTesting
|
||||
import androidx.annotation.VisibleForTesting.PRIVATE
|
||||
import androidx.lifecycle.Lifecycle.Event.ON_START
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.OnLifecycleEvent
|
||||
import com.afollestad.nocknock.R
|
||||
import com.afollestad.nocknock.data.AppDatabase
|
||||
import com.afollestad.nocknock.data.model.Site
|
||||
|
@ -32,6 +34,7 @@ import com.afollestad.nocknock.data.model.ValidationMode.TERM_SEARCH
|
|||
import com.afollestad.nocknock.data.putSite
|
||||
import com.afollestad.nocknock.engine.validation.ValidationManager
|
||||
import com.afollestad.nocknock.ui.ScopedViewModel
|
||||
import com.afollestad.nocknock.utilities.ext.MINUTE
|
||||
import com.afollestad.nocknock.utilities.livedata.map
|
||||
import com.afollestad.nocknock.viewcomponents.ext.isNullOrLessThan
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
|
@ -50,15 +53,21 @@ class AddSiteViewModel(
|
|||
// Public properties
|
||||
val name = MutableLiveData<String>()
|
||||
val url = MutableLiveData<String>()
|
||||
val timeout = MutableLiveData<Int>().apply {
|
||||
this.value = 10000
|
||||
}
|
||||
val timeout = MutableLiveData<Int>()
|
||||
val validationMode = MutableLiveData<ValidationMode>()
|
||||
val validationSearchTerm = MutableLiveData<String>()
|
||||
val validationScript = MutableLiveData<String>()
|
||||
val checkIntervalValue = MutableLiveData<Int>()
|
||||
val checkIntervalUnit = MutableLiveData<Long>()
|
||||
|
||||
@OnLifecycleEvent(ON_START)
|
||||
fun setDefaults() {
|
||||
timeout.value = 10000
|
||||
validationMode.value = STATUS_CODE
|
||||
checkIntervalValue.value = 0
|
||||
checkIntervalUnit.value = MINUTE
|
||||
}
|
||||
|
||||
// Private properties
|
||||
private val isLoading = MutableLiveData<Boolean>()
|
||||
private val nameError = MutableLiveData<Int?>()
|
||||
|
|
|
@ -24,6 +24,7 @@ import com.afollestad.nocknock.data.model.ValidationMode.STATUS_CODE
|
|||
import com.afollestad.nocknock.data.model.ValidationMode.TERM_SEARCH
|
||||
import com.afollestad.nocknock.engine.validation.ValidationManager
|
||||
import com.afollestad.nocknock.mockDatabase
|
||||
import com.afollestad.nocknock.utilities.ext.MINUTE
|
||||
import com.afollestad.nocknock.utilities.livedata.test
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import com.nhaarman.mockitokotlin2.any
|
||||
|
@ -56,6 +57,19 @@ class AddSiteViewModelTest {
|
|||
|
||||
@After fun tearDown() = viewModel.destroy()
|
||||
|
||||
@Test fun setDefaults() {
|
||||
viewModel.setDefaults()
|
||||
|
||||
assertThat(viewModel.name.value).isNull()
|
||||
assertThat(viewModel.url.value).isNull()
|
||||
assertThat(viewModel.timeout.value).isEqualTo(10000)
|
||||
assertThat(viewModel.validationMode.value).isEqualTo(STATUS_CODE)
|
||||
assertThat(viewModel.validationSearchTerm.value).isNull()
|
||||
assertThat(viewModel.validationScript.value).isNull()
|
||||
assertThat(viewModel.checkIntervalValue.value).isEqualTo(0)
|
||||
assertThat(viewModel.checkIntervalUnit.value).isEqualTo(MINUTE)
|
||||
}
|
||||
|
||||
@Test fun onUrlWarningVisibility() {
|
||||
val urlWarningVisibility = viewModel.onUrlWarningVisibility()
|
||||
.test()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue