summaryrefslogtreecommitdiff
path: root/tests/src/com
diff options
context:
space:
mode:
authorBrandon Maxwell <maxwelb@google.com>2016-04-14 10:59:55 -0700
committerUsman Abdullah <uabdullah@google.com>2016-04-20 18:32:00 +0000
commitb5a6f7264e70052887a69b98a8fb755a9769d125 (patch)
treeba8b5458df101fb853ad080ba18ad61c8be0606c /tests/src/com
parentd0db4f8941e13766b78c90432b92b4eaccf71e2c (diff)
Adding migrate promo to blocked numbers setting ui
This Migrate promo is shown so users have a way to migrate to the framework blocking solution, directly from the settings. Previously, users would have had to block a number to be presented with the migration dialog. UI: http://screen/GS8TdfKrnVv Button Pressed: http://screen/ovd6NgVmOqq Change-Id: I9c04b8afdf7c5681e09c02c7a4f6013c94b396d9 Fixes:27703938 (cherry picked from commit 3db9bde34452552973acefad5535a2273e9968fe)
Diffstat (limited to 'tests/src/com')
-rw-r--r--tests/src/com/android/dialer/filterednumber/BlockedNumbersFragmentInstrumentationTest.java93
1 files changed, 93 insertions, 0 deletions
diff --git a/tests/src/com/android/dialer/filterednumber/BlockedNumbersFragmentInstrumentationTest.java b/tests/src/com/android/dialer/filterednumber/BlockedNumbersFragmentInstrumentationTest.java
new file mode 100644
index 000000000..ea4c51e21
--- /dev/null
+++ b/tests/src/com/android/dialer/filterednumber/BlockedNumbersFragmentInstrumentationTest.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.dialer.filterednumber;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.verify;
+
+import android.test.ActivityInstrumentationTestCase2;
+import android.view.View;
+
+import com.android.contacts.common.compat.CompatUtils;
+import com.android.dialer.R;
+import com.android.dialer.compat.FilteredNumberCompat;
+import com.android.dialer.filterednumber.BlockedNumbersMigrator.Listener;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * Instrumentation tests for {@link BlockedNumbersFragment}. Note for these tests to work properly,
+ * the device's screen must be on.
+ */
+public class BlockedNumbersFragmentInstrumentationTest extends
+ ActivityInstrumentationTestCase2<BlockedNumbersSettingsActivity> {
+
+ private static final String FRAGMENT_TAG = "blocked_management";
+
+ private BlockedNumbersFragment blockedNumbersFragment;
+ @Mock private BlockedNumbersMigrator blockedNumbersMigrator;
+
+ public BlockedNumbersFragmentInstrumentationTest() {
+ super(BlockedNumbersSettingsActivity.class);
+ }
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+ MockitoAnnotations.initMocks(this);
+ FilteredNumberCompat.setIsEnabledForTest(true);
+ blockedNumbersFragment = new BlockedNumbersFragment();
+ blockedNumbersFragment.setBlockedNumbersMigratorForTest(blockedNumbersMigrator);
+ getActivity().getFragmentManager().beginTransaction()
+ .replace(R.id.blocked_numbers_activity_container, blockedNumbersFragment, FRAGMENT_TAG)
+ .commit();
+ getInstrumentation().waitForIdleSync();
+ }
+
+ public void testMigrationPromo_NotShown_M() {
+ if (CompatUtils.isNCompatible()) {
+ return;
+ }
+ assertEquals(View.GONE, blockedNumbersFragment.migratePromoView.getVisibility());
+ }
+
+ public void testMigrationPromo_Shown_N() {
+ if (!CompatUtils.isNCompatible()) {
+ return;
+ }
+ assertEquals(View.VISIBLE, blockedNumbersFragment.migratePromoView.getVisibility());
+ }
+
+ public void testOnClick_Migrate() {
+ if (!CompatUtils.isNCompatible()) {
+ return;
+ }
+
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ blockedNumbersFragment.getListView().findViewById(R.id.migrate_promo_allow_button)
+ .performClick();
+ }
+ });
+ getInstrumentation().waitForIdleSync();
+ assertFalse(blockedNumbersFragment.getListView().findViewById(R.id.migrate_promo_allow_button)
+ .isEnabled());
+ verify(blockedNumbersMigrator).migrate(any(Listener.class));
+ }
+}