Added unit test for MobileNetworkPhoneNumberPreferenceController visibility
The new test checks whether the item is available when the SubscriptionUtil.isSimHardwareVisible() method returns true, i.e. if the config_show_sim_info boolean flag is true on non-test runtime. The default visibility status for all tests is defined in the test setup() method, as this will also simplify the addition of new checks later on. Bug: 392808943 Flag: EXEMPT test only Test: atest MobileNetworkPhoneNumberPreferenceControllerTest Change-Id: Icedef190a8140fd8164dd8035ae93735a666b9f0
This commit is contained in:
@@ -61,6 +61,9 @@ class MobileNetworkPhoneNumberPreferenceControllerTest {
|
|||||||
.strictness(Strictness.LENIENT)
|
.strictness(Strictness.LENIENT)
|
||||||
.startMocking()
|
.startMocking()
|
||||||
|
|
||||||
|
// By default, available
|
||||||
|
whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(true)
|
||||||
|
|
||||||
preferenceScreen.addPreference(preference)
|
preferenceScreen.addPreference(preference)
|
||||||
controller.init(SUB_ID)
|
controller.init(SUB_ID)
|
||||||
controller.displayPreference(preferenceScreen)
|
controller.displayPreference(preferenceScreen)
|
||||||
@@ -73,7 +76,6 @@ class MobileNetworkPhoneNumberPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun onViewCreated_cannotGetPhoneNumber_displayUnknown() = runBlocking {
|
fun onViewCreated_cannotGetPhoneNumber_displayUnknown() = runBlocking {
|
||||||
whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(true)
|
|
||||||
mockSubscriptionRepository.stub {
|
mockSubscriptionRepository.stub {
|
||||||
on { phoneNumberFlow(SUB_ID) } doReturn flowOf(null)
|
on { phoneNumberFlow(SUB_ID) } doReturn flowOf(null)
|
||||||
}
|
}
|
||||||
@@ -86,7 +88,6 @@ class MobileNetworkPhoneNumberPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun onViewCreated_canGetPhoneNumber_displayPhoneNumber() = runBlocking {
|
fun onViewCreated_canGetPhoneNumber_displayPhoneNumber() = runBlocking {
|
||||||
whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(true)
|
|
||||||
mockSubscriptionRepository.stub {
|
mockSubscriptionRepository.stub {
|
||||||
on { phoneNumberFlow(SUB_ID) } doReturn flowOf(PHONE_NUMBER)
|
on { phoneNumberFlow(SUB_ID) } doReturn flowOf(PHONE_NUMBER)
|
||||||
}
|
}
|
||||||
@@ -98,11 +99,17 @@ class MobileNetworkPhoneNumberPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun getAvailabilityStatus_notSimHardwareVisible() {
|
fun getAvailabilityStatus_simHardwareVisible_displayed() {
|
||||||
|
// Use defaults from setup()
|
||||||
|
val availabilityStatus = controller.availabilityStatus
|
||||||
|
assertThat(availabilityStatus).isEqualTo(BasePreferenceController.AVAILABLE)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun getAvailabilityStatus_notSimHardwareVisible_notDisplayed() {
|
||||||
whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(false)
|
whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(false)
|
||||||
|
|
||||||
val availabilityStatus = controller.availabilityStatus
|
val availabilityStatus = controller.availabilityStatus
|
||||||
|
|
||||||
assertThat(availabilityStatus).isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE)
|
assertThat(availabilityStatus).isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user