From d1d1e433132cd5ff27667e28ae260a8798a17e67 Mon Sep 17 00:00:00 2001 From: songferngwang Date: Fri, 23 Feb 2024 08:07:42 +0000 Subject: [PATCH] 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 --- ...utoDataSwitchPreferenceControllerTest.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/robotests/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceControllerTest.java index 758d6b09b99..29592cf9189 100644 --- a/tests/robotests/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceControllerTest.java @@ -30,12 +30,19 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; 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 androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; +import com.android.settings.flags.Flags; + import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; 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_2 = 222; + @Rule + public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); + @Mock private TelephonyManager mTelephonyManager; @Mock @@ -79,6 +89,7 @@ public class AutoDataSwitchPreferenceControllerTest { } @Test + @RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED) public void getAvailabilityStatus_noInit_notAvailable() { ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1); AutoDataSwitchPreferenceController controller = @@ -90,6 +101,7 @@ public class AutoDataSwitchPreferenceControllerTest { } @Test + @RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED) public void displayPreference_defaultForData_notAvailable() { ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1); @@ -100,6 +112,7 @@ public class AutoDataSwitchPreferenceControllerTest { } @Test + @RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED) public void displayPreference_notDefaultForData_available() { ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_2); @@ -110,6 +123,7 @@ public class AutoDataSwitchPreferenceControllerTest { } @Test + @RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED) public void onSubscriptionsChanged_becomesDefaultForData_notAvailable() { ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_2); @@ -122,6 +136,7 @@ public class AutoDataSwitchPreferenceControllerTest { } @Test + @RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED) public void onSubscriptionsChanged_noLongerDefaultForData_available() { ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1); @@ -134,6 +149,7 @@ public class AutoDataSwitchPreferenceControllerTest { } @Test + @RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED) public void getAvailabilityStatus_mobileDataChangWithDefaultDataSubId_returnUnavailable() { ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1); @@ -144,6 +160,7 @@ public class AutoDataSwitchPreferenceControllerTest { } @Test + @RequiresFlagsDisabled(Flags.FLAG_IS_DUAL_SIM_ONBOARDING_ENABLED) public void getAvailabilityStatus_mobileDataChangWithoutDefaultDataSubId_returnAvailable() { ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1); @@ -152,4 +169,16 @@ public class AutoDataSwitchPreferenceControllerTest { 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); + } }