Merge changes I497486d0,I0d5d100a into udc-qpr-dev
* changes: [Status Bar] Update WifiViewModelTest to TestScope; add to robolectric. [Status Bar] Update WifiInteractorTest to TestScope; add to robolectric
This commit is contained in:
committed by
Android (Google) Code Review
commit
4ba6608223
@@ -307,6 +307,8 @@ filegroup {
|
|||||||
"tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositorySwitcherTest.kt",
|
"tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositorySwitcherTest.kt",
|
||||||
"tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/DisabledWifiRepositoryTest.kt",
|
"tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/DisabledWifiRepositoryTest.kt",
|
||||||
"tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImplTest.kt",
|
"tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImplTest.kt",
|
||||||
|
"tests/src/com/android/systemui/statusbar/pipeline/wifi/domain/interactor/WifiInteractorImplTest.kt",
|
||||||
|
"tests/src/com/android/systemui/statusbar/pipeline/wifi/ui/viewmodel/WifiViewModelTest.kt",
|
||||||
],
|
],
|
||||||
path: "tests/src",
|
path: "tests/src",
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,9 @@
|
|||||||
package com.android.systemui.statusbar.pipeline.wifi.domain.interactor
|
package com.android.systemui.statusbar.pipeline.wifi.domain.interactor
|
||||||
|
|
||||||
import android.net.wifi.WifiManager
|
import android.net.wifi.WifiManager
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
|
import com.android.systemui.RoboPilotTest
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot
|
import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot
|
||||||
import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel
|
import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel
|
||||||
@@ -25,18 +27,22 @@ import com.android.systemui.statusbar.pipeline.shared.data.repository.FakeConnec
|
|||||||
import com.android.systemui.statusbar.pipeline.wifi.data.repository.FakeWifiRepository
|
import com.android.systemui.statusbar.pipeline.wifi.data.repository.FakeWifiRepository
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiNetworkModel
|
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiNetworkModel
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import kotlinx.coroutines.Dispatchers
|
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.coroutines.flow.launchIn
|
import kotlinx.coroutines.flow.launchIn
|
||||||
import kotlinx.coroutines.flow.onEach
|
import kotlinx.coroutines.flow.onEach
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.test.TestScope
|
||||||
|
import kotlinx.coroutines.test.runCurrent
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
import kotlinx.coroutines.yield
|
import kotlinx.coroutines.yield
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
import org.junit.runner.RunWith
|
||||||
|
|
||||||
@OptIn(ExperimentalCoroutinesApi::class)
|
@OptIn(ExperimentalCoroutinesApi::class)
|
||||||
@Suppress("EXPERIMENTAL_IS_NOT_ENABLED")
|
@Suppress("EXPERIMENTAL_IS_NOT_ENABLED")
|
||||||
@SmallTest
|
@SmallTest
|
||||||
|
@RoboPilotTest
|
||||||
|
@RunWith(AndroidJUnit4::class)
|
||||||
class WifiInteractorImplTest : SysuiTestCase() {
|
class WifiInteractorImplTest : SysuiTestCase() {
|
||||||
|
|
||||||
private lateinit var underTest: WifiInteractor
|
private lateinit var underTest: WifiInteractor
|
||||||
@@ -44,6 +50,8 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
private lateinit var connectivityRepository: FakeConnectivityRepository
|
private lateinit var connectivityRepository: FakeConnectivityRepository
|
||||||
private lateinit var wifiRepository: FakeWifiRepository
|
private lateinit var wifiRepository: FakeWifiRepository
|
||||||
|
|
||||||
|
private val testScope = TestScope()
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
fun setUp() {
|
fun setUp() {
|
||||||
connectivityRepository = FakeConnectivityRepository()
|
connectivityRepository = FakeConnectivityRepository()
|
||||||
@@ -53,11 +61,12 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun ssid_unavailableNetwork_outputsNull() =
|
fun ssid_unavailableNetwork_outputsNull() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
wifiRepository.setWifiNetwork(WifiNetworkModel.Unavailable)
|
wifiRepository.setWifiNetwork(WifiNetworkModel.Unavailable)
|
||||||
|
|
||||||
var latest: String? = "default"
|
var latest: String? = "default"
|
||||||
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
||||||
|
runCurrent()
|
||||||
|
|
||||||
assertThat(latest).isNull()
|
assertThat(latest).isNull()
|
||||||
|
|
||||||
@@ -66,11 +75,12 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun ssid_inactiveNetwork_outputsNull() =
|
fun ssid_inactiveNetwork_outputsNull() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
wifiRepository.setWifiNetwork(WifiNetworkModel.Inactive)
|
wifiRepository.setWifiNetwork(WifiNetworkModel.Inactive)
|
||||||
|
|
||||||
var latest: String? = "default"
|
var latest: String? = "default"
|
||||||
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
||||||
|
runCurrent()
|
||||||
|
|
||||||
assertThat(latest).isNull()
|
assertThat(latest).isNull()
|
||||||
|
|
||||||
@@ -79,13 +89,14 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun ssid_carrierMergedNetwork_outputsNull() =
|
fun ssid_carrierMergedNetwork_outputsNull() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
wifiRepository.setWifiNetwork(
|
wifiRepository.setWifiNetwork(
|
||||||
WifiNetworkModel.CarrierMerged(networkId = 1, subscriptionId = 2, level = 1)
|
WifiNetworkModel.CarrierMerged(networkId = 1, subscriptionId = 2, level = 1)
|
||||||
)
|
)
|
||||||
|
|
||||||
var latest: String? = "default"
|
var latest: String? = "default"
|
||||||
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
||||||
|
runCurrent()
|
||||||
|
|
||||||
assertThat(latest).isNull()
|
assertThat(latest).isNull()
|
||||||
|
|
||||||
@@ -94,7 +105,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun ssid_isPasspointAccessPoint_outputsPasspointName() =
|
fun ssid_isPasspointAccessPoint_outputsPasspointName() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
wifiRepository.setWifiNetwork(
|
wifiRepository.setWifiNetwork(
|
||||||
WifiNetworkModel.Active(
|
WifiNetworkModel.Active(
|
||||||
networkId = 1,
|
networkId = 1,
|
||||||
@@ -106,6 +117,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
var latest: String? = null
|
var latest: String? = null
|
||||||
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
||||||
|
runCurrent()
|
||||||
|
|
||||||
assertThat(latest).isEqualTo("friendly")
|
assertThat(latest).isEqualTo("friendly")
|
||||||
|
|
||||||
@@ -114,7 +126,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun ssid_isOnlineSignUpForPasspoint_outputsPasspointName() =
|
fun ssid_isOnlineSignUpForPasspoint_outputsPasspointName() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
wifiRepository.setWifiNetwork(
|
wifiRepository.setWifiNetwork(
|
||||||
WifiNetworkModel.Active(
|
WifiNetworkModel.Active(
|
||||||
networkId = 1,
|
networkId = 1,
|
||||||
@@ -126,6 +138,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
var latest: String? = null
|
var latest: String? = null
|
||||||
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
||||||
|
runCurrent()
|
||||||
|
|
||||||
assertThat(latest).isEqualTo("friendly")
|
assertThat(latest).isEqualTo("friendly")
|
||||||
|
|
||||||
@@ -134,7 +147,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun ssid_unknownSsid_outputsNull() =
|
fun ssid_unknownSsid_outputsNull() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
wifiRepository.setWifiNetwork(
|
wifiRepository.setWifiNetwork(
|
||||||
WifiNetworkModel.Active(
|
WifiNetworkModel.Active(
|
||||||
networkId = 1,
|
networkId = 1,
|
||||||
@@ -145,6 +158,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
var latest: String? = "default"
|
var latest: String? = "default"
|
||||||
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
||||||
|
runCurrent()
|
||||||
|
|
||||||
assertThat(latest).isNull()
|
assertThat(latest).isNull()
|
||||||
|
|
||||||
@@ -153,7 +167,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun ssid_validSsid_outputsSsid() =
|
fun ssid_validSsid_outputsSsid() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
wifiRepository.setWifiNetwork(
|
wifiRepository.setWifiNetwork(
|
||||||
WifiNetworkModel.Active(
|
WifiNetworkModel.Active(
|
||||||
networkId = 1,
|
networkId = 1,
|
||||||
@@ -164,6 +178,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
var latest: String? = null
|
var latest: String? = null
|
||||||
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
val job = underTest.ssid.onEach { latest = it }.launchIn(this)
|
||||||
|
runCurrent()
|
||||||
|
|
||||||
assertThat(latest).isEqualTo("MyAwesomeWifiNetwork")
|
assertThat(latest).isEqualTo("MyAwesomeWifiNetwork")
|
||||||
|
|
||||||
@@ -172,7 +187,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun isEnabled_matchesRepoIsEnabled() =
|
fun isEnabled_matchesRepoIsEnabled() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
var latest: Boolean? = null
|
var latest: Boolean? = null
|
||||||
val job = underTest.isEnabled.onEach { latest = it }.launchIn(this)
|
val job = underTest.isEnabled.onEach { latest = it }.launchIn(this)
|
||||||
|
|
||||||
@@ -193,7 +208,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun isDefault_matchesRepoIsDefault() =
|
fun isDefault_matchesRepoIsDefault() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
var latest: Boolean? = null
|
var latest: Boolean? = null
|
||||||
val job = underTest.isDefault.onEach { latest = it }.launchIn(this)
|
val job = underTest.isDefault.onEach { latest = it }.launchIn(this)
|
||||||
|
|
||||||
@@ -214,7 +229,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun wifiNetwork_matchesRepoWifiNetwork() =
|
fun wifiNetwork_matchesRepoWifiNetwork() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
val wifiNetwork =
|
val wifiNetwork =
|
||||||
WifiNetworkModel.Active(
|
WifiNetworkModel.Active(
|
||||||
networkId = 45,
|
networkId = 45,
|
||||||
@@ -227,6 +242,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
var latest: WifiNetworkModel? = null
|
var latest: WifiNetworkModel? = null
|
||||||
val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
|
val job = underTest.wifiNetwork.onEach { latest = it }.launchIn(this)
|
||||||
|
runCurrent()
|
||||||
|
|
||||||
assertThat(latest).isEqualTo(wifiNetwork)
|
assertThat(latest).isEqualTo(wifiNetwork)
|
||||||
|
|
||||||
@@ -235,7 +251,7 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activity_matchesRepoWifiActivity() =
|
fun activity_matchesRepoWifiActivity() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
var latest: DataActivityModel? = null
|
var latest: DataActivityModel? = null
|
||||||
val job = underTest.activity.onEach { latest = it }.launchIn(this)
|
val job = underTest.activity.onEach { latest = it }.launchIn(this)
|
||||||
|
|
||||||
@@ -259,11 +275,12 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun isForceHidden_repoHasWifiHidden_outputsTrue() =
|
fun isForceHidden_repoHasWifiHidden_outputsTrue() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
connectivityRepository.setForceHiddenIcons(setOf(ConnectivitySlot.WIFI))
|
connectivityRepository.setForceHiddenIcons(setOf(ConnectivitySlot.WIFI))
|
||||||
|
|
||||||
var latest: Boolean? = null
|
var latest: Boolean? = null
|
||||||
val job = underTest.isForceHidden.onEach { latest = it }.launchIn(this)
|
val job = underTest.isForceHidden.onEach { latest = it }.launchIn(this)
|
||||||
|
runCurrent()
|
||||||
|
|
||||||
assertThat(latest).isTrue()
|
assertThat(latest).isTrue()
|
||||||
|
|
||||||
@@ -272,16 +289,15 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun isForceHidden_repoDoesNotHaveWifiHidden_outputsFalse() =
|
fun isForceHidden_repoDoesNotHaveWifiHidden_outputsFalse() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
connectivityRepository.setForceHiddenIcons(setOf())
|
connectivityRepository.setForceHiddenIcons(setOf())
|
||||||
|
|
||||||
var latest: Boolean? = null
|
var latest: Boolean? = null
|
||||||
val job = underTest.isForceHidden.onEach { latest = it }.launchIn(this)
|
val job = underTest.isForceHidden.onEach { latest = it }.launchIn(this)
|
||||||
|
runCurrent()
|
||||||
|
|
||||||
assertThat(latest).isFalse()
|
assertThat(latest).isFalse()
|
||||||
|
|
||||||
job.cancel()
|
job.cancel()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private val IMMEDIATE = Dispatchers.Main.immediate
|
|
||||||
|
|||||||
@@ -16,8 +16,11 @@
|
|||||||
|
|
||||||
package com.android.systemui.statusbar.pipeline.wifi.ui.viewmodel
|
package com.android.systemui.statusbar.pipeline.wifi.ui.viewmodel
|
||||||
|
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
|
import com.android.systemui.RoboPilotTest
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
|
import com.android.systemui.coroutines.collectLastValue
|
||||||
import com.android.systemui.log.table.TableLogBuffer
|
import com.android.systemui.log.table.TableLogBuffer
|
||||||
import com.android.systemui.statusbar.phone.StatusBarLocation
|
import com.android.systemui.statusbar.phone.StatusBarLocation
|
||||||
import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository
|
import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository
|
||||||
@@ -36,23 +39,19 @@ import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiNetworkMode
|
|||||||
import com.android.systemui.statusbar.pipeline.wifi.ui.model.WifiIcon
|
import com.android.systemui.statusbar.pipeline.wifi.ui.model.WifiIcon
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.ui.viewmodel.LocationBasedWifiViewModel.Companion.viewModelForLocation
|
import com.android.systemui.statusbar.pipeline.wifi.ui.viewmodel.LocationBasedWifiViewModel.Companion.viewModelForLocation
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import kotlinx.coroutines.CoroutineScope
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
|
||||||
import kotlinx.coroutines.cancel
|
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.launchIn
|
import kotlinx.coroutines.test.TestScope
|
||||||
import kotlinx.coroutines.flow.onEach
|
import kotlinx.coroutines.test.runTest
|
||||||
import kotlinx.coroutines.runBlocking
|
|
||||||
import kotlinx.coroutines.yield
|
|
||||||
import org.junit.After
|
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
import org.junit.runner.RunWith
|
||||||
import org.mockito.Mock
|
import org.mockito.Mock
|
||||||
import org.mockito.Mockito.`when` as whenever
|
import org.mockito.Mockito.`when` as whenever
|
||||||
import org.mockito.MockitoAnnotations
|
import org.mockito.MockitoAnnotations
|
||||||
|
|
||||||
@Suppress("EXPERIMENTAL_IS_NOT_ENABLED")
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
|
@RoboPilotTest
|
||||||
|
@RunWith(AndroidJUnit4::class)
|
||||||
class WifiViewModelTest : SysuiTestCase() {
|
class WifiViewModelTest : SysuiTestCase() {
|
||||||
|
|
||||||
private lateinit var underTest: WifiViewModel
|
private lateinit var underTest: WifiViewModel
|
||||||
@@ -66,7 +65,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
private lateinit var interactor: WifiInteractor
|
private lateinit var interactor: WifiInteractor
|
||||||
private lateinit var airplaneModeViewModel: AirplaneModeViewModel
|
private lateinit var airplaneModeViewModel: AirplaneModeViewModel
|
||||||
private val shouldShowSignalSpacerProviderFlow = MutableStateFlow(false)
|
private val shouldShowSignalSpacerProviderFlow = MutableStateFlow(false)
|
||||||
private lateinit var scope: CoroutineScope
|
private val testScope = TestScope()
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
fun setUp() {
|
fun setUp() {
|
||||||
@@ -76,7 +75,6 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
wifiRepository = FakeWifiRepository()
|
wifiRepository = FakeWifiRepository()
|
||||||
wifiRepository.setIsWifiEnabled(true)
|
wifiRepository.setIsWifiEnabled(true)
|
||||||
interactor = WifiInteractorImpl(connectivityRepository, wifiRepository)
|
interactor = WifiInteractorImpl(connectivityRepository, wifiRepository)
|
||||||
scope = CoroutineScope(IMMEDIATE)
|
|
||||||
airplaneModeViewModel =
|
airplaneModeViewModel =
|
||||||
AirplaneModeViewModelImpl(
|
AirplaneModeViewModelImpl(
|
||||||
AirplaneModeInteractor(
|
AirplaneModeInteractor(
|
||||||
@@ -84,17 +82,12 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
connectivityRepository,
|
connectivityRepository,
|
||||||
),
|
),
|
||||||
tableLogBuffer,
|
tableLogBuffer,
|
||||||
scope,
|
testScope.backgroundScope,
|
||||||
)
|
)
|
||||||
|
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
|
||||||
fun tearDown() {
|
|
||||||
scope.cancel()
|
|
||||||
}
|
|
||||||
|
|
||||||
// See [WifiViewModelIconParameterizedTest] for additional view model tests.
|
// See [WifiViewModelIconParameterizedTest] for additional view model tests.
|
||||||
|
|
||||||
// Note on testing: [WifiViewModel] exposes 3 different instances of
|
// Note on testing: [WifiViewModel] exposes 3 different instances of
|
||||||
@@ -104,104 +97,65 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun wifiIcon_allLocationViewModelsReceiveSameData() =
|
fun wifiIcon_allLocationViewModelsReceiveSameData() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
val home = viewModelForLocation(underTest, StatusBarLocation.HOME)
|
val home = viewModelForLocation(underTest, StatusBarLocation.HOME)
|
||||||
val keyguard = viewModelForLocation(underTest, StatusBarLocation.KEYGUARD)
|
val keyguard = viewModelForLocation(underTest, StatusBarLocation.KEYGUARD)
|
||||||
val qs = viewModelForLocation(underTest, StatusBarLocation.QS)
|
val qs = viewModelForLocation(underTest, StatusBarLocation.QS)
|
||||||
|
|
||||||
var latestHome: WifiIcon? = null
|
val latestHome by collectLastValue(home.wifiIcon)
|
||||||
val jobHome = home.wifiIcon.onEach { latestHome = it }.launchIn(this)
|
val latestKeyguard by collectLastValue(keyguard.wifiIcon)
|
||||||
|
val latestQs by collectLastValue(qs.wifiIcon)
|
||||||
var latestKeyguard: WifiIcon? = null
|
|
||||||
val jobKeyguard = keyguard.wifiIcon.onEach { latestKeyguard = it }.launchIn(this)
|
|
||||||
|
|
||||||
var latestQs: WifiIcon? = null
|
|
||||||
val jobQs = qs.wifiIcon.onEach { latestQs = it }.launchIn(this)
|
|
||||||
|
|
||||||
wifiRepository.setWifiNetwork(
|
wifiRepository.setWifiNetwork(
|
||||||
WifiNetworkModel.Active(NETWORK_ID, isValidated = true, level = 1)
|
WifiNetworkModel.Active(NETWORK_ID, isValidated = true, level = 1)
|
||||||
)
|
)
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latestHome).isInstanceOf(WifiIcon.Visible::class.java)
|
assertThat(latestHome).isInstanceOf(WifiIcon.Visible::class.java)
|
||||||
assertThat(latestHome).isEqualTo(latestKeyguard)
|
assertThat(latestHome).isEqualTo(latestKeyguard)
|
||||||
assertThat(latestKeyguard).isEqualTo(latestQs)
|
assertThat(latestKeyguard).isEqualTo(latestQs)
|
||||||
|
|
||||||
jobHome.cancel()
|
|
||||||
jobKeyguard.cancel()
|
|
||||||
jobQs.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activity_showActivityConfigFalse_outputsFalse() =
|
fun activity_showActivityConfigFalse_outputsFalse() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(false)
|
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(false)
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
||||||
|
|
||||||
var activityIn: Boolean? = null
|
val activityIn by collectLastValue(underTest.isActivityInViewVisible)
|
||||||
val activityInJob =
|
val activityOut by collectLastValue(underTest.isActivityOutViewVisible)
|
||||||
underTest.isActivityInViewVisible.onEach { activityIn = it }.launchIn(this)
|
val activityContainer by collectLastValue(underTest.isActivityContainerVisible)
|
||||||
|
|
||||||
var activityOut: Boolean? = null
|
|
||||||
val activityOutJob =
|
|
||||||
underTest.isActivityOutViewVisible.onEach { activityOut = it }.launchIn(this)
|
|
||||||
|
|
||||||
var activityContainer: Boolean? = null
|
|
||||||
val activityContainerJob =
|
|
||||||
underTest.isActivityContainerVisible
|
|
||||||
.onEach { activityContainer = it }
|
|
||||||
.launchIn(this)
|
|
||||||
|
|
||||||
// Verify that on launch, we receive false.
|
// Verify that on launch, we receive false.
|
||||||
assertThat(activityIn).isFalse()
|
assertThat(activityIn).isFalse()
|
||||||
assertThat(activityOut).isFalse()
|
assertThat(activityOut).isFalse()
|
||||||
assertThat(activityContainer).isFalse()
|
assertThat(activityContainer).isFalse()
|
||||||
|
|
||||||
activityInJob.cancel()
|
|
||||||
activityOutJob.cancel()
|
|
||||||
activityContainerJob.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activity_showActivityConfigFalse_noUpdatesReceived() =
|
fun activity_showActivityConfigFalse_noUpdatesReceived() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(false)
|
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(false)
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
||||||
|
|
||||||
var activityIn: Boolean? = null
|
val activityIn by collectLastValue(underTest.isActivityInViewVisible)
|
||||||
val activityInJob =
|
val activityOut by collectLastValue(underTest.isActivityOutViewVisible)
|
||||||
underTest.isActivityInViewVisible.onEach { activityIn = it }.launchIn(this)
|
val activityContainer by collectLastValue(underTest.isActivityContainerVisible)
|
||||||
|
|
||||||
var activityOut: Boolean? = null
|
|
||||||
val activityOutJob =
|
|
||||||
underTest.isActivityOutViewVisible.onEach { activityOut = it }.launchIn(this)
|
|
||||||
|
|
||||||
var activityContainer: Boolean? = null
|
|
||||||
val activityContainerJob =
|
|
||||||
underTest.isActivityContainerVisible
|
|
||||||
.onEach { activityContainer = it }
|
|
||||||
.launchIn(this)
|
|
||||||
|
|
||||||
// WHEN we update the repo to have activity
|
// WHEN we update the repo to have activity
|
||||||
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
|
||||||
|
|
||||||
// THEN we didn't update to the new activity (because our config is false)
|
// THEN we didn't update to the new activity (because our config is false)
|
||||||
assertThat(activityIn).isFalse()
|
assertThat(activityIn).isFalse()
|
||||||
assertThat(activityOut).isFalse()
|
assertThat(activityOut).isFalse()
|
||||||
assertThat(activityContainer).isFalse()
|
assertThat(activityContainer).isFalse()
|
||||||
|
|
||||||
activityInJob.cancel()
|
|
||||||
activityOutJob.cancel()
|
|
||||||
activityContainerJob.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activity_nullSsid_outputsFalse() =
|
fun activity_nullSsid_outputsFalse() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
|
|
||||||
@@ -209,38 +163,23 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
WifiNetworkModel.Active(NETWORK_ID, ssid = null, level = 1)
|
WifiNetworkModel.Active(NETWORK_ID, ssid = null, level = 1)
|
||||||
)
|
)
|
||||||
|
|
||||||
var activityIn: Boolean? = null
|
val activityIn by collectLastValue(underTest.isActivityInViewVisible)
|
||||||
val activityInJob =
|
val activityOut by collectLastValue(underTest.isActivityOutViewVisible)
|
||||||
underTest.isActivityInViewVisible.onEach { activityIn = it }.launchIn(this)
|
val activityContainer by collectLastValue(underTest.isActivityContainerVisible)
|
||||||
|
|
||||||
var activityOut: Boolean? = null
|
|
||||||
val activityOutJob =
|
|
||||||
underTest.isActivityOutViewVisible.onEach { activityOut = it }.launchIn(this)
|
|
||||||
|
|
||||||
var activityContainer: Boolean? = null
|
|
||||||
val activityContainerJob =
|
|
||||||
underTest.isActivityContainerVisible
|
|
||||||
.onEach { activityContainer = it }
|
|
||||||
.launchIn(this)
|
|
||||||
|
|
||||||
// WHEN we update the repo to have activity
|
// WHEN we update the repo to have activity
|
||||||
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
|
||||||
|
|
||||||
// THEN we still output false because our network's SSID is null
|
// THEN we still output false because our network's SSID is null
|
||||||
assertThat(activityIn).isFalse()
|
assertThat(activityIn).isFalse()
|
||||||
assertThat(activityOut).isFalse()
|
assertThat(activityOut).isFalse()
|
||||||
assertThat(activityContainer).isFalse()
|
assertThat(activityContainer).isFalse()
|
||||||
|
|
||||||
activityInJob.cancel()
|
|
||||||
activityOutJob.cancel()
|
|
||||||
activityContainerJob.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activity_allLocationViewModelsReceiveSameData() =
|
fun activity_allLocationViewModelsReceiveSameData() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
||||||
@@ -249,250 +188,187 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
val keyguard = viewModelForLocation(underTest, StatusBarLocation.KEYGUARD)
|
val keyguard = viewModelForLocation(underTest, StatusBarLocation.KEYGUARD)
|
||||||
val qs = viewModelForLocation(underTest, StatusBarLocation.QS)
|
val qs = viewModelForLocation(underTest, StatusBarLocation.QS)
|
||||||
|
|
||||||
var latestHome: Boolean? = null
|
val latestHome by collectLastValue(home.isActivityInViewVisible)
|
||||||
val jobHome = home.isActivityInViewVisible.onEach { latestHome = it }.launchIn(this)
|
val latestKeyguard by collectLastValue(keyguard.isActivityInViewVisible)
|
||||||
|
val latestQs by collectLastValue(qs.isActivityInViewVisible)
|
||||||
var latestKeyguard: Boolean? = null
|
|
||||||
val jobKeyguard =
|
|
||||||
keyguard.isActivityInViewVisible.onEach { latestKeyguard = it }.launchIn(this)
|
|
||||||
|
|
||||||
var latestQs: Boolean? = null
|
|
||||||
val jobQs = qs.isActivityInViewVisible.onEach { latestQs = it }.launchIn(this)
|
|
||||||
|
|
||||||
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latestHome).isTrue()
|
assertThat(latestHome).isTrue()
|
||||||
assertThat(latestKeyguard).isTrue()
|
assertThat(latestKeyguard).isTrue()
|
||||||
assertThat(latestQs).isTrue()
|
assertThat(latestQs).isTrue()
|
||||||
|
|
||||||
jobHome.cancel()
|
|
||||||
jobKeyguard.cancel()
|
|
||||||
jobQs.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activityIn_hasActivityInTrue_outputsTrue() =
|
fun activityIn_hasActivityInTrue_outputsTrue() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
||||||
|
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isActivityInViewVisible)
|
||||||
val job = underTest.isActivityInViewVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = false)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = false)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isTrue()
|
assertThat(latest).isTrue()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activityIn_hasActivityInFalse_outputsFalse() =
|
fun activityIn_hasActivityInFalse_outputsFalse() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
||||||
|
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isActivityInViewVisible)
|
||||||
val job = underTest.isActivityInViewVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
val activity = DataActivityModel(hasActivityIn = false, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = false, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isFalse()
|
assertThat(latest).isFalse()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activityOut_hasActivityOutTrue_outputsTrue() =
|
fun activityOut_hasActivityOutTrue_outputsTrue() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
||||||
|
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isActivityOutViewVisible)
|
||||||
val job = underTest.isActivityOutViewVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
val activity = DataActivityModel(hasActivityIn = false, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = false, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isTrue()
|
assertThat(latest).isTrue()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activityOut_hasActivityOutFalse_outputsFalse() =
|
fun activityOut_hasActivityOutFalse_outputsFalse() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
||||||
|
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isActivityOutViewVisible)
|
||||||
val job = underTest.isActivityOutViewVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = false)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = false)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isFalse()
|
assertThat(latest).isFalse()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activityContainer_hasActivityInTrue_outputsTrue() =
|
fun activityContainer_hasActivityInTrue_outputsTrue() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
||||||
|
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isActivityContainerVisible)
|
||||||
val job = underTest.isActivityContainerVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = false)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = false)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isTrue()
|
assertThat(latest).isTrue()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activityContainer_hasActivityOutTrue_outputsTrue() =
|
fun activityContainer_hasActivityOutTrue_outputsTrue() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
||||||
|
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isActivityContainerVisible)
|
||||||
val job = underTest.isActivityContainerVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
val activity = DataActivityModel(hasActivityIn = false, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = false, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isTrue()
|
assertThat(latest).isTrue()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activityContainer_inAndOutTrue_outputsTrue() =
|
fun activityContainer_inAndOutTrue_outputsTrue() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
||||||
|
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isActivityContainerVisible)
|
||||||
val job = underTest.isActivityContainerVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isTrue()
|
assertThat(latest).isTrue()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activityContainer_inAndOutFalse_outputsFalse() =
|
fun activityContainer_inAndOutFalse_outputsFalse() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
whenever(connectivityConstants.shouldShowActivityConfig).thenReturn(true)
|
||||||
createAndSetViewModel()
|
createAndSetViewModel()
|
||||||
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
wifiRepository.setWifiNetwork(ACTIVE_VALID_WIFI_NETWORK)
|
||||||
|
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isActivityContainerVisible)
|
||||||
val job = underTest.isActivityContainerVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
val activity = DataActivityModel(hasActivityIn = false, hasActivityOut = false)
|
val activity = DataActivityModel(hasActivityIn = false, hasActivityOut = false)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isFalse()
|
assertThat(latest).isFalse()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun airplaneSpacer_notAirplaneMode_outputsFalse() =
|
fun airplaneSpacer_notAirplaneMode_outputsFalse() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isAirplaneSpacerVisible)
|
||||||
val job = underTest.isAirplaneSpacerVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
airplaneModeRepository.setIsAirplaneMode(false)
|
airplaneModeRepository.setIsAirplaneMode(false)
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isFalse()
|
assertThat(latest).isFalse()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun airplaneSpacer_airplaneForceHidden_outputsFalse() =
|
fun airplaneSpacer_airplaneForceHidden_outputsFalse() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isAirplaneSpacerVisible)
|
||||||
val job = underTest.isAirplaneSpacerVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
airplaneModeRepository.setIsAirplaneMode(true)
|
airplaneModeRepository.setIsAirplaneMode(true)
|
||||||
connectivityRepository.setForceHiddenIcons(setOf(ConnectivitySlot.AIRPLANE))
|
connectivityRepository.setForceHiddenIcons(setOf(ConnectivitySlot.AIRPLANE))
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isFalse()
|
assertThat(latest).isFalse()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun airplaneSpacer_airplaneIconVisible_outputsTrue() =
|
fun airplaneSpacer_airplaneIconVisible_outputsTrue() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isAirplaneSpacerVisible)
|
||||||
val job = underTest.isAirplaneSpacerVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
airplaneModeRepository.setIsAirplaneMode(true)
|
airplaneModeRepository.setIsAirplaneMode(true)
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isTrue()
|
assertThat(latest).isTrue()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun signalSpacer_firstSubNotShowingNetworkTypeIcon_outputsFalse() =
|
fun signalSpacer_firstSubNotShowingNetworkTypeIcon_outputsFalse() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isSignalSpacerVisible)
|
||||||
val job = underTest.isSignalSpacerVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
shouldShowSignalSpacerProviderFlow.value = false
|
shouldShowSignalSpacerProviderFlow.value = false
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isFalse()
|
assertThat(latest).isFalse()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun signalSpacer_firstSubIsShowingNetworkTypeIcon_outputsTrue() =
|
fun signalSpacer_firstSubIsShowingNetworkTypeIcon_outputsTrue() =
|
||||||
runBlocking(IMMEDIATE) {
|
testScope.runTest {
|
||||||
var latest: Boolean? = null
|
val latest by collectLastValue(underTest.isSignalSpacerVisible)
|
||||||
val job = underTest.isSignalSpacerVisible.onEach { latest = it }.launchIn(this)
|
|
||||||
|
|
||||||
shouldShowSignalSpacerProviderFlow.value = true
|
shouldShowSignalSpacerProviderFlow.value = true
|
||||||
yield()
|
|
||||||
|
|
||||||
assertThat(latest).isTrue()
|
assertThat(latest).isTrue()
|
||||||
|
|
||||||
job.cancel()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createAndSetViewModel() {
|
private fun createAndSetViewModel() {
|
||||||
@@ -507,7 +383,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
context,
|
context,
|
||||||
tableLogBuffer,
|
tableLogBuffer,
|
||||||
interactor,
|
interactor,
|
||||||
scope,
|
testScope.backgroundScope,
|
||||||
wifiConstants,
|
wifiConstants,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -518,5 +394,3 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
WifiNetworkModel.Active(NETWORK_ID, ssid = "AB", level = 1)
|
WifiNetworkModel.Active(NETWORK_ID, ssid = "AB", level = 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private val IMMEDIATE = Dispatchers.Main.immediate
|
|
||||||
|
|||||||
Reference in New Issue
Block a user