Loading tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java +0 −69 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.settings.homepage.contextualcards; import static android.app.slice.Slice.HINT_ERROR; import static com.android.settings.homepage.contextualcards.ContextualCardLoader.DEFAULT_CARD_COUNT; import static com.google.common.truth.Truth.assertThat; Loading @@ -34,8 +32,6 @@ import android.app.settings.SettingsEnums; import android.content.Context; import android.net.Uri; import androidx.slice.Slice; import com.android.settings.R; import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.testutils.FakeFeatureFactory; Loading @@ -53,73 +49,17 @@ import java.util.stream.Collectors; @RunWith(RobolectricTestRunner.class) public class ContextualCardLoaderTest { private static final String TEST_SLICE_URI = "content://test/test"; private Context mContext; private ContextualCardLoader mContextualCardLoader; private EligibleCardChecker mEligibleCardChecker; private FakeFeatureFactory mFakeFeatureFactory; @Before public void setUp() { mContext = RuntimeEnvironment.application; mContextualCardLoader = spy(new ContextualCardLoader(mContext)); mEligibleCardChecker = spy(new EligibleCardChecker(mContext, getContextualCard(TEST_SLICE_URI))); mFakeFeatureFactory = FakeFeatureFactory.setupForTest(); } @Test public void isCardEligibleToDisplay_customCard_returnTrue() { final ContextualCard customCard = new ContextualCard.Builder() .setName("custom_card") .setCardType(ContextualCard.CardType.DEFAULT) .setTitleText("custom_title") .setSummaryText("custom_summary") .build(); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(customCard)).isTrue(); } @Test public void isCardEligibleToDisplay_invalidScheme_returnFalse() { final String sliceUri = "contet://com.android.settings.slices/action/flashlight"; assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(sliceUri))) .isFalse(); } @Test public void isCardEligibleToDisplay_invalidRankingScore_returnFalse() { final ContextualCard card = new ContextualCard.Builder() .setName("test_card") .setCardType(ContextualCard.CardType.SLICE) .setSliceUri(CustomSliceRegistry.FLASHLIGHT_SLICE_URI) .setRankingScore(-1) .build(); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(card)) .isFalse(); } @Test public void isCardEligibleToDisplay_nullSlice_returnFalse() { doReturn(null).when(mEligibleCardChecker).bindSlice(Uri.parse(TEST_SLICE_URI)); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI))) .isFalse(); } @Test public void isCardEligibleToDisplay_errorSlice_returnFalse() { final Slice slice = new Slice.Builder(Uri.parse(TEST_SLICE_URI)) .addHints(HINT_ERROR).build(); doReturn(slice).when(mEligibleCardChecker).bindSlice(Uri.parse(TEST_SLICE_URI)); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI))) .isFalse(); } @Test public void getDisplayableCards_twoEligibleCards_shouldShowAll() { final List<ContextualCard> cards = getContextualCardList().stream().limit(2) Loading Loading @@ -201,15 +141,6 @@ public class ContextualCardLoaderTest { eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_SHOW), any(String.class)); } private ContextualCard getContextualCard(String sliceUri) { return new ContextualCard.Builder() .setName("test_card") .setRankingScore(0.5) .setCardType(ContextualCard.CardType.SLICE) .setSliceUri(Uri.parse(sliceUri)) .build(); } private List<ContextualCard> getContextualCardList() { final List<ContextualCard> cards = new ArrayList<>(); cards.add(new ContextualCard.Builder() Loading tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java +54 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.homepage.contextualcards; import static android.app.slice.Slice.HINT_ERROR; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; Loading @@ -30,6 +32,7 @@ import androidx.slice.SliceProvider; import androidx.slice.widget.SliceLiveData; import com.android.settings.homepage.contextualcards.deviceinfo.EmergencyInfoSlice; import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.wifi.slice.ContextualWifiSlice; import org.junit.Before; Loading Loading @@ -92,6 +95,57 @@ public class EligibleCardCheckerTest { assertThat(mEligibleCardChecker.mCard.hasInlineAction()).isFalse(); } @Test public void isCardEligibleToDisplay_customCard_returnTrue() { final ContextualCard customCard = new ContextualCard.Builder() .setName("custom_card") .setCardType(ContextualCard.CardType.DEFAULT) .setTitleText("custom_title") .setSummaryText("custom_summary") .build(); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(customCard)).isTrue(); } @Test public void isCardEligibleToDisplay_invalidScheme_returnFalse() { final Uri sliceUri = Uri.parse("contet://com.android.settings.slices/action/flashlight"); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(sliceUri))) .isFalse(); } @Test public void isCardEligibleToDisplay_invalidRankingScore_returnFalse() { final ContextualCard card = new ContextualCard.Builder() .setName("test_card") .setCardType(ContextualCard.CardType.SLICE) .setSliceUri(CustomSliceRegistry.FLASHLIGHT_SLICE_URI) .setRankingScore(-1) .build(); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(card)) .isFalse(); } @Test public void isCardEligibleToDisplay_nullSlice_returnFalse() { doReturn(null).when(mEligibleCardChecker).bindSlice(any(Uri.class)); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI))) .isFalse(); } @Test public void isCardEligibleToDisplay_errorSlice_returnFalse() { final Slice slice = new Slice.Builder(TEST_SLICE_URI) .addHints(HINT_ERROR).build(); doReturn(slice).when(mEligibleCardChecker).bindSlice(any(Uri.class)); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI))) .isFalse(); } private ContextualCard getContextualCard(Uri sliceUri) { return new ContextualCard.Builder() .setName("test_card") Loading Loading
tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java +0 −69 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.settings.homepage.contextualcards; import static android.app.slice.Slice.HINT_ERROR; import static com.android.settings.homepage.contextualcards.ContextualCardLoader.DEFAULT_CARD_COUNT; import static com.google.common.truth.Truth.assertThat; Loading @@ -34,8 +32,6 @@ import android.app.settings.SettingsEnums; import android.content.Context; import android.net.Uri; import androidx.slice.Slice; import com.android.settings.R; import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.testutils.FakeFeatureFactory; Loading @@ -53,73 +49,17 @@ import java.util.stream.Collectors; @RunWith(RobolectricTestRunner.class) public class ContextualCardLoaderTest { private static final String TEST_SLICE_URI = "content://test/test"; private Context mContext; private ContextualCardLoader mContextualCardLoader; private EligibleCardChecker mEligibleCardChecker; private FakeFeatureFactory mFakeFeatureFactory; @Before public void setUp() { mContext = RuntimeEnvironment.application; mContextualCardLoader = spy(new ContextualCardLoader(mContext)); mEligibleCardChecker = spy(new EligibleCardChecker(mContext, getContextualCard(TEST_SLICE_URI))); mFakeFeatureFactory = FakeFeatureFactory.setupForTest(); } @Test public void isCardEligibleToDisplay_customCard_returnTrue() { final ContextualCard customCard = new ContextualCard.Builder() .setName("custom_card") .setCardType(ContextualCard.CardType.DEFAULT) .setTitleText("custom_title") .setSummaryText("custom_summary") .build(); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(customCard)).isTrue(); } @Test public void isCardEligibleToDisplay_invalidScheme_returnFalse() { final String sliceUri = "contet://com.android.settings.slices/action/flashlight"; assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(sliceUri))) .isFalse(); } @Test public void isCardEligibleToDisplay_invalidRankingScore_returnFalse() { final ContextualCard card = new ContextualCard.Builder() .setName("test_card") .setCardType(ContextualCard.CardType.SLICE) .setSliceUri(CustomSliceRegistry.FLASHLIGHT_SLICE_URI) .setRankingScore(-1) .build(); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(card)) .isFalse(); } @Test public void isCardEligibleToDisplay_nullSlice_returnFalse() { doReturn(null).when(mEligibleCardChecker).bindSlice(Uri.parse(TEST_SLICE_URI)); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI))) .isFalse(); } @Test public void isCardEligibleToDisplay_errorSlice_returnFalse() { final Slice slice = new Slice.Builder(Uri.parse(TEST_SLICE_URI)) .addHints(HINT_ERROR).build(); doReturn(slice).when(mEligibleCardChecker).bindSlice(Uri.parse(TEST_SLICE_URI)); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI))) .isFalse(); } @Test public void getDisplayableCards_twoEligibleCards_shouldShowAll() { final List<ContextualCard> cards = getContextualCardList().stream().limit(2) Loading Loading @@ -201,15 +141,6 @@ public class ContextualCardLoaderTest { eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_SHOW), any(String.class)); } private ContextualCard getContextualCard(String sliceUri) { return new ContextualCard.Builder() .setName("test_card") .setRankingScore(0.5) .setCardType(ContextualCard.CardType.SLICE) .setSliceUri(Uri.parse(sliceUri)) .build(); } private List<ContextualCard> getContextualCardList() { final List<ContextualCard> cards = new ArrayList<>(); cards.add(new ContextualCard.Builder() Loading
tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java +54 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.homepage.contextualcards; import static android.app.slice.Slice.HINT_ERROR; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; Loading @@ -30,6 +32,7 @@ import androidx.slice.SliceProvider; import androidx.slice.widget.SliceLiveData; import com.android.settings.homepage.contextualcards.deviceinfo.EmergencyInfoSlice; import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.wifi.slice.ContextualWifiSlice; import org.junit.Before; Loading Loading @@ -92,6 +95,57 @@ public class EligibleCardCheckerTest { assertThat(mEligibleCardChecker.mCard.hasInlineAction()).isFalse(); } @Test public void isCardEligibleToDisplay_customCard_returnTrue() { final ContextualCard customCard = new ContextualCard.Builder() .setName("custom_card") .setCardType(ContextualCard.CardType.DEFAULT) .setTitleText("custom_title") .setSummaryText("custom_summary") .build(); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(customCard)).isTrue(); } @Test public void isCardEligibleToDisplay_invalidScheme_returnFalse() { final Uri sliceUri = Uri.parse("contet://com.android.settings.slices/action/flashlight"); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(sliceUri))) .isFalse(); } @Test public void isCardEligibleToDisplay_invalidRankingScore_returnFalse() { final ContextualCard card = new ContextualCard.Builder() .setName("test_card") .setCardType(ContextualCard.CardType.SLICE) .setSliceUri(CustomSliceRegistry.FLASHLIGHT_SLICE_URI) .setRankingScore(-1) .build(); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(card)) .isFalse(); } @Test public void isCardEligibleToDisplay_nullSlice_returnFalse() { doReturn(null).when(mEligibleCardChecker).bindSlice(any(Uri.class)); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI))) .isFalse(); } @Test public void isCardEligibleToDisplay_errorSlice_returnFalse() { final Slice slice = new Slice.Builder(TEST_SLICE_URI) .addHints(HINT_ERROR).build(); doReturn(slice).when(mEligibleCardChecker).bindSlice(any(Uri.class)); assertThat(mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI))) .isFalse(); } private ContextualCard getContextualCard(Uri sliceUri) { return new ContextualCard.Builder() .setName("test_card") Loading