From ac55b2ca49f6b1eeace15628db47b00c3a1bc1bb Mon Sep 17 00:00:00 2001 From: Bonian Chen Date: Tue, 4 Feb 2020 18:03:10 +0800 Subject: [PATCH] [Settings] fix failure test case - ConditionContextualCardController Setup parameters required by CellularDataConditionController Bug: 148834975 Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=ConditionContextualCardControllerTest Change-Id: I8e0c7435cf18cfdafa39f58697b6d29db34b1867 Merged-In: I974df385d956dbff10aac874487d07d626992e4b --- .../ConditionContextualCardControllerTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardControllerTest.java index 06f9b987ce7..ad2930d635c 100644 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardControllerTest.java +++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardControllerTest.java @@ -23,8 +23,11 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import static org.robolectric.Shadows.shadowOf; import android.content.Context; +import android.telephony.SubscriptionManager; +import android.telephony.TelephonyManager; import com.android.settings.homepage.contextualcards.ContextualCard; import com.android.settings.homepage.contextualcards.ContextualCard.CardType; @@ -37,6 +40,8 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; +import org.robolectric.shadows.ShadowSubscriptionManager; +import org.robolectric.shadows.ShadowTelephonyManager; import org.robolectric.util.ReflectionHelpers; import java.util.ArrayList; @@ -45,6 +50,7 @@ import java.util.Map; @RunWith(RobolectricTestRunner.class) public class ConditionContextualCardControllerTest { + private static final int SUB_ID = 2; @Mock private ConditionManager mConditionManager; @@ -57,6 +63,17 @@ public class ConditionContextualCardControllerTest { public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); + + // parameters required by CellularDataConditionController + final ShadowSubscriptionManager shadowSubscriptionMgr = shadowOf( + mContext.getSystemService(SubscriptionManager.class)); + shadowSubscriptionMgr.setDefaultDataSubscriptionId(SUB_ID); + + final TelephonyManager telephonyManager = + spy(mContext.getSystemService(TelephonyManager.class)); + final ShadowTelephonyManager shadowTelephonyMgr = shadowOf(telephonyManager); + shadowTelephonyMgr.setTelephonyManagerForSubscriptionId(SUB_ID, telephonyManager); + mController = spy(new ConditionContextualCardController(mContext)); ReflectionHelpers.setField(mController, "mConditionManager", mConditionManager); }