summaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authorWeng Su <wengsu@google.com>2021-04-29 10:20:11 +0800
committerWeng Su <wengsu@google.com>2021-05-10 05:27:59 +0000
commitc407a2d9f89143f239e5c2ac4c2daf6a3d6a13aa (patch)
tree5d5082be077f10af4c0f35f356f55ee439018567 /tests/unit
parentb4a9916adf89cadf01ff6a7027708112673f632e (diff)
downloadSettings-c407a2d9f89143f239e5c2ac4c2daf6a3d6a13aa.tar.gz
[Provider Model] Add progress bar to internet panel
- Show progress bar when Wi-Fi scanning - Show "Searching for networks..." sub-title when Wi-Fi scanning - Remove "Wi-Fi" from searching networks string Bug: 178774497 Test: manual test atest -c InternetConnectivityPanelTest make RunSettingsRoboTests ROBOTEST_FILTER=PanelFragmentTest Change-Id: Ic05b939bef3b106845fe90db41eb09f0e15756f4
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java b/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java
index 0da8464d95c..d2ef4519b63 100644
--- a/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java
+++ b/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java
@@ -18,8 +18,12 @@ package com.android.settings.panel;
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -28,6 +32,7 @@ import android.content.Context;
import android.net.Uri;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
+import android.os.Handler;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -70,6 +75,8 @@ public class InternetConnectivityPanelTest {
@Rule
public final MockitoRule mMocks = MockitoJUnit.rule();
@Mock
+ Handler mMainThreadHandler;
+ @Mock
PanelContentCallback mPanelContentCallback;
@Mock
InternetUpdater mInternetUpdater;
@@ -85,6 +92,7 @@ public class InternetConnectivityPanelTest {
public void setUp() {
mContext = spy(ApplicationProvider.getApplicationContext());
when(mContext.getApplicationContext()).thenReturn(mContext);
+ when(mContext.getMainThreadHandler()).thenReturn(mMainThreadHandler);
when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
mPanel = InternetConnectivityPanel.create(mContext);
@@ -310,6 +318,65 @@ public class InternetConnectivityPanelTest {
verify(mPanelContentCallback).onCustomizedButtonStateChanged();
}
+ @Test
+ public void showProgressBar_wifiDisabled_hideProgress() {
+ mPanel.mIsProgressBarVisible = true;
+ doReturn(false).when(mInternetUpdater).isWifiEnabled();
+ clearInvocations(mPanelContentCallback);
+
+ mPanel.showProgressBar();
+
+ assertThat(mPanel.isProgressBarVisible()).isFalse();
+ verify(mPanelContentCallback).onProgressBarVisibleChanged();
+ }
+
+ @Test
+ public void showProgressBar_noWifiScanResults_showProgressForever() {
+ mPanel.mIsProgressBarVisible = false;
+ doReturn(true).when(mInternetUpdater).isWifiEnabled();
+ List<ScanResult> noWifiScanResults = new ArrayList<>();
+ doReturn(noWifiScanResults).when(mWifiManager).getScanResults();
+ clearInvocations(mPanelContentCallback);
+
+ mPanel.showProgressBar();
+
+ assertThat(mPanel.isProgressBarVisible()).isTrue();
+ verify(mPanelContentCallback).onProgressBarVisibleChanged();
+ verify(mPanelContentCallback).onHeaderChanged();
+ verify(mMainThreadHandler, never())
+ .postDelayed(any() /* mHideProgressBarRunnable */, anyLong());
+ }
+
+ @Test
+ public void showProgressBar_hasWifiScanResults_showProgressDelayedHide() {
+ mPanel.mIsProgressBarVisible = false;
+ doReturn(true).when(mInternetUpdater).isWifiEnabled();
+ List<ScanResult> hasWifiScanResults = mock(ArrayList.class);
+ doReturn(1).when(hasWifiScanResults).size();
+ doReturn(hasWifiScanResults).when(mWifiManager).getScanResults();
+ clearInvocations(mPanelContentCallback);
+
+ mPanel.showProgressBar();
+
+ assertThat(mPanel.isProgressBarVisible()).isTrue();
+ verify(mPanelContentCallback).onProgressBarVisibleChanged();
+ verify(mPanelContentCallback).onHeaderChanged();
+ verify(mMainThreadHandler).postDelayed(any() /* mHideProgressBarRunnable */, anyLong());
+ }
+
+ @Test
+ public void setProgressBarVisible_onProgressBarVisibleChanged() {
+ mPanel.mIsProgressBarVisible = false;
+ doReturn(true).when(mInternetUpdater).isWifiEnabled();
+ clearInvocations(mPanelContentCallback);
+
+ mPanel.setProgressBarVisible(true);
+
+ assertThat(mPanel.mIsProgressBarVisible).isTrue();
+ verify(mPanelContentCallback).onProgressBarVisibleChanged();
+ verify(mPanelContentCallback).onHeaderChanged();
+ }
+
private void mockCondition(boolean airplaneMode, boolean hasCarrier,
boolean isDataSimActive, boolean isMobileDataEnabled, boolean isServiceInService,
boolean isWifiEnabled, List<ScanResult> wifiItems) {