diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java index e63dd80a799..64dbbb28728 100644 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java +++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java @@ -24,20 +24,26 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; +import android.app.Activity; +import android.app.PendingIntent; import android.content.Context; +import android.content.Intent; import android.net.Uri; +import androidx.core.graphics.drawable.IconCompat; import androidx.slice.Slice; import androidx.slice.SliceProvider; import androidx.slice.widget.SliceLiveData; +import androidx.slice.builders.ListBuilder; +import androidx.slice.builders.SliceAction; +import com.android.settings.R; import com.android.settings.slices.CustomSliceRegistry; -import com.android.settings.wifi.slice.ContextualWifiSlice; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; +import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; @@ -48,6 +54,7 @@ public class EligibleCardCheckerTest { private Context mContext; private EligibleCardChecker mEligibleCardChecker; + private Activity mActivity; @Before public void setUp() { @@ -55,22 +62,19 @@ public class EligibleCardCheckerTest { mEligibleCardChecker = spy(new EligibleCardChecker(mContext, getContextualCard(TEST_SLICE_URI))); SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS); + mActivity = Robolectric.buildActivity(Activity.class).create().get(); } @Test - @Ignore public void isSliceToggleable_cardWithToggle_returnTrue() { - final ContextualWifiSlice wifiSlice = new ContextualWifiSlice(mContext); - final Slice slice = wifiSlice.getSlice(); + final Slice slice = buildSlice(); assertThat(mEligibleCardChecker.isSliceToggleable(slice)).isTrue(); } @Test - @Ignore public void isCardEligibleToDisplay_toggleSlice_hasInlineActionShouldBeTrue() { - final ContextualWifiSlice wifiSlice = new ContextualWifiSlice(mContext); - final Slice slice = wifiSlice.getSlice(); + final Slice slice = buildSlice(); doReturn(slice).when(mEligibleCardChecker).bindSlice(any(Uri.class)); mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI)); @@ -118,10 +122,8 @@ public class EligibleCardCheckerTest { } @Test - @Ignore public void isCardEligibleToDisplay_sliceNotNull_cacheSliceToCard() { - final ContextualWifiSlice wifiSlice = new ContextualWifiSlice(mContext); - final Slice slice = wifiSlice.getSlice(); + final Slice slice = buildSlice(); doReturn(slice).when(mEligibleCardChecker).bindSlice(any(Uri.class)); mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI)); @@ -137,4 +139,23 @@ public class EligibleCardCheckerTest { .setSliceUri(sliceUri) .build(); } + + private Slice buildSlice() { + final String title = "test_title"; + final IconCompat icon = IconCompat.createWithResource(mActivity, R.drawable.empty_icon); + final PendingIntent pendingIntent = PendingIntent.getActivity( + mActivity, + title.hashCode() /* requestCode */, + new Intent("test action"), + PendingIntent.FLAG_IMMUTABLE); + final SliceAction action + = SliceAction.createDeeplink(pendingIntent, icon, ListBuilder.SMALL_IMAGE, title); + return new ListBuilder(mActivity, TEST_SLICE_URI, ListBuilder.INFINITY) + .addRow(new ListBuilder.RowBuilder() + .addEndItem(icon, ListBuilder.ICON_IMAGE) + .setTitle(title) + .setPrimaryAction(action)) + .addAction(SliceAction.createToggle(pendingIntent, null /* actionTitle */, true)) + .build(); + } }