Fixed AutoDataSwitchPreferenceControllerTest

The settings Flag is not assigned value, it cause test cases failed

Bug: 326543866
Test: have tested the v2/android-settings/apps/robolectric_settings_test at https://android-build.corp.google.com/builds/abtd/run/L92300030002155909
The test cases of com.android.settings.network.telephony are all passed.
Change-Id: I5a53fb6de741a7550f03ffca3c519d6b67c7c0fe
This commit is contained in:
songferngwang
2024-02-23 08:07:42 +00:00
committed by SongFerng Wang
parent b3646a4957
commit d1d1e43313

View File

@@ -30,12 +30,19 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.platform.test.annotations.RequiresFlagsDisabled;
import android.platform.test.annotations.RequiresFlagsEnabled;
import android.platform.test.flag.junit.CheckFlagsRule;
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference; import androidx.preference.SwitchPreference;
import com.android.settings.flags.Flags;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
@@ -52,6 +59,9 @@ public class AutoDataSwitchPreferenceControllerTest {
private static final int SUB_ID_1 = 111; private static final int SUB_ID_1 = 111;
private static final int SUB_ID_2 = 222; private static final int SUB_ID_2 = 222;
@Rule
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
@Mock @Mock
private TelephonyManager mTelephonyManager; private TelephonyManager mTelephonyManager;
@Mock @Mock
@@ -79,6 +89,7 @@ public class AutoDataSwitchPreferenceControllerTest {
} }
@Test @Test
@RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED)
public void getAvailabilityStatus_noInit_notAvailable() { public void getAvailabilityStatus_noInit_notAvailable() {
ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1); ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1);
AutoDataSwitchPreferenceController controller = AutoDataSwitchPreferenceController controller =
@@ -90,6 +101,7 @@ public class AutoDataSwitchPreferenceControllerTest {
} }
@Test @Test
@RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED)
public void displayPreference_defaultForData_notAvailable() { public void displayPreference_defaultForData_notAvailable() {
ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1); ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1);
@@ -100,6 +112,7 @@ public class AutoDataSwitchPreferenceControllerTest {
} }
@Test @Test
@RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED)
public void displayPreference_notDefaultForData_available() { public void displayPreference_notDefaultForData_available() {
ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_2); ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_2);
@@ -110,6 +123,7 @@ public class AutoDataSwitchPreferenceControllerTest {
} }
@Test @Test
@RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED)
public void onSubscriptionsChanged_becomesDefaultForData_notAvailable() { public void onSubscriptionsChanged_becomesDefaultForData_notAvailable() {
ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_2); ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_2);
@@ -122,6 +136,7 @@ public class AutoDataSwitchPreferenceControllerTest {
} }
@Test @Test
@RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED)
public void onSubscriptionsChanged_noLongerDefaultForData_available() { public void onSubscriptionsChanged_noLongerDefaultForData_available() {
ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1); ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1);
@@ -134,6 +149,7 @@ public class AutoDataSwitchPreferenceControllerTest {
} }
@Test @Test
@RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED)
public void getAvailabilityStatus_mobileDataChangWithDefaultDataSubId_returnUnavailable() { public void getAvailabilityStatus_mobileDataChangWithDefaultDataSubId_returnUnavailable() {
ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1); ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1);
@@ -144,6 +160,7 @@ public class AutoDataSwitchPreferenceControllerTest {
} }
@Test @Test
@RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED)
public void getAvailabilityStatus_mobileDataChangWithoutDefaultDataSubId_returnAvailable() { public void getAvailabilityStatus_mobileDataChangWithoutDefaultDataSubId_returnAvailable() {
ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1); ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1);
@@ -152,4 +169,16 @@ public class AutoDataSwitchPreferenceControllerTest {
assertThat(mController.getAvailabilityStatus(SUB_ID_2)).isEqualTo(AVAILABLE); assertThat(mController.getAvailabilityStatus(SUB_ID_2)).isEqualTo(AVAILABLE);
} }
@Test
@RequiresFlagsEnabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED)
public void getAvailabilityStatus_flagIsDualSimOnboardingEnabledOn_returnUnavailable() {
ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1);
mController.displayPreference(mPreferenceScreen);
mController.refreshPreference();
assertThat(mController.getAvailabilityStatus(SUB_ID_1))
.isEqualTo(CONDITIONALLY_UNAVAILABLE);
}
} }