summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSean Pont <seanpont@google.com>2020-06-19 19:02:38 -0700
committerSean Pont <seanpont@google.com>2020-06-19 19:02:38 -0700
commitc7c214b128d27a8f719744adfe5d3f96fe41d88f (patch)
treefdcea7c77e45ff50011d707ccf1cb56c9d40f263 /tests
parent9a70e1c9b4f8d91437421a7c8b471feb4a6ffdde (diff)
downloadQuickAccessWallet-c7c214b128d27a8f719744adfe5d3f96fe41d88f.tar.gz
Hide Cards and Passes setting when unavailable
Fixes: 154497863 Test: manual - enable and disable wallet, observe settings Test: atest QuickAccessWalletRoboTests Change-Id: Ifb833b2f8202e3dc116d1325808654dd767a374a
Diffstat (limited to 'tests')
-rw-r--r--tests/robolectric/src/com/android/systemui/plugin/globalactions/wallet/QuickAccessWalletClientTest.java10
-rw-r--r--tests/robolectric/src/com/android/systemui/plugin/globalactions/wallet/WalletPluginServiceTest.java69
2 files changed, 67 insertions, 12 deletions
diff --git a/tests/robolectric/src/com/android/systemui/plugin/globalactions/wallet/QuickAccessWalletClientTest.java b/tests/robolectric/src/com/android/systemui/plugin/globalactions/wallet/QuickAccessWalletClientTest.java
index a9a7bda..e11c356 100644
--- a/tests/robolectric/src/com/android/systemui/plugin/globalactions/wallet/QuickAccessWalletClientTest.java
+++ b/tests/robolectric/src/com/android/systemui/plugin/globalactions/wallet/QuickAccessWalletClientTest.java
@@ -105,7 +105,7 @@ public class QuickAccessWalletClientTest {
public void isWalletFeatureAvailable_happyCase() {
setDefaultPaymentApp(mContext.getPackageName());
registerWalletService();
- WalletPluginService.enableFeatureInSettings(mContext);
+ WalletPluginService.updateSettingsFeatureAvailability(mContext, true);
ContentResolver cr = mContext.getContentResolver();
Settings.Secure.putInt(cr, Settings.Secure.USER_SETUP_COMPLETE, 1);
@@ -118,7 +118,7 @@ public class QuickAccessWalletClientTest {
public void isWalletFeatureAvailable_wrongUser() {
setDefaultPaymentApp(mContext.getPackageName());
registerWalletService();
- WalletPluginService.enableFeatureInSettings(mContext);
+ WalletPluginService.updateSettingsFeatureAvailability(mContext, true);
ContentResolver cr = mContext.getContentResolver();
Settings.Secure.putInt(cr, Settings.Secure.USER_SETUP_COMPLETE, 1);
ShadowActivityManager.setCurrentUser(11);
@@ -132,7 +132,7 @@ public class QuickAccessWalletClientTest {
public void isWalletFeatureAvailable_userSetupIncomplete() {
setDefaultPaymentApp(mContext.getPackageName());
registerWalletService();
- WalletPluginService.enableFeatureInSettings(mContext);
+ WalletPluginService.updateSettingsFeatureAvailability(mContext, true);
// do not set user setup complete
mWalletClient = QuickAccessWalletClient.create(mContext);
@@ -144,7 +144,7 @@ public class QuickAccessWalletClientTest {
public void isWalletFeatureAvailable_globalActionsPanelDisabled() {
setDefaultPaymentApp(mContext.getPackageName());
registerWalletService();
- WalletPluginService.enableFeatureInSettings(mContext);
+ WalletPluginService.updateSettingsFeatureAvailability(mContext, true);
ContentResolver cr = mContext.getContentResolver();
Settings.Secure.putInt(cr,
Settings.Secure.GLOBAL_ACTIONS_PANEL_ENABLED, 0);
@@ -159,7 +159,7 @@ public class QuickAccessWalletClientTest {
public void isWalletFeatureAvailable_userInLockdown() {
setDefaultPaymentApp(mContext.getPackageName());
registerWalletService();
- WalletPluginService.enableFeatureInSettings(mContext);
+ WalletPluginService.updateSettingsFeatureAvailability(mContext, true);
ContentResolver cr = mContext.getContentResolver();
Settings.Secure.putInt(cr, Settings.Secure.USER_SETUP_COMPLETE, 1);
ShadowLockPatternUtils.sIsUserInLockdown = true;
diff --git a/tests/robolectric/src/com/android/systemui/plugin/globalactions/wallet/WalletPluginServiceTest.java b/tests/robolectric/src/com/android/systemui/plugin/globalactions/wallet/WalletPluginServiceTest.java
index 8ad4ea0..aaf8a80 100644
--- a/tests/robolectric/src/com/android/systemui/plugin/globalactions/wallet/WalletPluginServiceTest.java
+++ b/tests/robolectric/src/com/android/systemui/plugin/globalactions/wallet/WalletPluginServiceTest.java
@@ -30,22 +30,22 @@ import org.robolectric.shadows.ShadowLog;
public class WalletPluginServiceTest {
private final Context mContext = ApplicationProvider.getApplicationContext();
- @Mock
- QuickAccessWalletClient mWalletClient;
- @Mock
- GlobalActionsPanelPlugin.Callbacks mPluginCallbacks;
+ @Mock QuickAccessWalletClient mWalletClient;
+ @Mock GlobalActionsPanelPlugin.Callbacks mPluginCallbacks;
private WalletPluginService mPluginService;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
+ when(mWalletClient.isWalletServiceAvailable()).thenReturn(true);
mPluginService = new WalletPluginService();
- mPluginService.onCreate(mContext, mContext);
ShadowLog.stream = System.out;
}
@Test
- public void onCreate_enablesFeatureInSettings() {
+ public void onCreate_serviceAvailable_enablesFeatureInSettings() {
+ mPluginService.onCreate(mContext, mContext, mWalletClient);
+
ContentResolver cr = mContext.getContentResolver();
assertThat(Settings.Secure.getInt(
cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_AVAILABLE, -1)).isEqualTo(1);
@@ -54,20 +54,72 @@ public class WalletPluginServiceTest {
}
@Test
+ public void onCreate_serviceUnavailable_disablesFeatureInSettings() {
+ when(mWalletClient.isWalletServiceAvailable()).thenReturn(false);
+
+ mPluginService.onCreate(mContext, mContext, mWalletClient);
+
+ ContentResolver cr = mContext.getContentResolver();
+ assertThat(Settings.Secure.getInt(
+ cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_AVAILABLE, -1)).isEqualTo(0);
+ assertThat(Settings.Secure.getInt(
+ cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_ENABLED, -1)).isEqualTo(1);
+ }
+
+ @Test
public void onCreate_doesNotOverridePanelEnabledSettingIfOff() {
ContentResolver cr = mContext.getContentResolver();
Settings.Secure.putInt(cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_ENABLED, 0);
- mPluginService.onCreate(mContext, mContext);
+ mPluginService.onCreate(mContext, mContext, mWalletClient);
assertThat(Settings.Secure.getInt(
cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_ENABLED, -1)).isEqualTo(0);
}
@Test
+ public void onPanelShown_wasUnavailable_nowAvailable_updatesFeatureAvailabilityInSettings() {
+ when(mWalletClient.isWalletServiceAvailable()).thenReturn(false);
+ mPluginService.onCreate(mContext, mContext, mWalletClient);
+ ContentResolver cr = mContext.getContentResolver();
+ assertThat(Settings.Secure.getInt(
+ cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_AVAILABLE, -1)).isEqualTo(0);
+ assertThat(Settings.Secure.getInt(
+ cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_ENABLED, -1)).isEqualTo(1);
+ when(mWalletClient.isWalletServiceAvailable()).thenReturn(true);
+
+ mPluginService.onPanelShown(mPluginCallbacks, false, mWalletClient);
+
+ assertThat(Settings.Secure.getInt(
+ cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_AVAILABLE, -1)).isEqualTo(1);
+ assertThat(Settings.Secure.getInt(
+ cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_ENABLED, -1)).isEqualTo(1);
+ }
+
+ @Test
+ public void onPanelShown_wasAvailable_nowUnavailable_updatesFeatureAvailabilityInSettings() {
+ when(mWalletClient.isWalletServiceAvailable()).thenReturn(true);
+ mPluginService.onCreate(mContext, mContext, mWalletClient);
+ ContentResolver cr = mContext.getContentResolver();
+ assertThat(Settings.Secure.getInt(
+ cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_AVAILABLE, -1)).isEqualTo(1);
+ assertThat(Settings.Secure.getInt(
+ cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_ENABLED, -1)).isEqualTo(1);
+ when(mWalletClient.isWalletServiceAvailable()).thenReturn(false);
+
+ mPluginService.onPanelShown(mPluginCallbacks, false, mWalletClient);
+
+ assertThat(Settings.Secure.getInt(
+ cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_AVAILABLE, -1)).isEqualTo(0);
+ assertThat(Settings.Secure.getInt(
+ cr, Settings.Secure.GLOBAL_ACTIONS_PANEL_ENABLED, -1)).isEqualTo(1);
+ }
+
+ @Test
public void onPanelShown_returnsControllerIfFeatureAvailable() {
when(mWalletClient.isWalletServiceAvailable()).thenReturn(true);
when(mWalletClient.isWalletFeatureAvailable()).thenReturn(true);
+ mPluginService.onCreate(mContext, mContext, mWalletClient);
GlobalActionsPanelPlugin.PanelViewController viewController =
mPluginService.onPanelShown(mPluginCallbacks, false, mWalletClient);
@@ -79,6 +131,7 @@ public class WalletPluginServiceTest {
public void onPanelShown_performsGetWalletCardsRequest() {
when(mWalletClient.isWalletServiceAvailable()).thenReturn(true);
when(mWalletClient.isWalletFeatureAvailable()).thenReturn(true);
+ mPluginService.onCreate(mContext, mContext, mWalletClient);
mPluginService.onPanelShown(mPluginCallbacks, false, mWalletClient);
@@ -89,6 +142,7 @@ public class WalletPluginServiceTest {
public void onPanelShown_returnsNullIfFeatureUnavailable() {
when(mWalletClient.isWalletServiceAvailable()).thenReturn(true);
when(mWalletClient.isWalletFeatureAvailable()).thenReturn(false);
+ mPluginService.onCreate(mContext, mContext, mWalletClient);
GlobalActionsPanelPlugin.PanelViewController viewController =
mPluginService.onPanelShown(mPluginCallbacks, false, mWalletClient);
@@ -100,6 +154,7 @@ public class WalletPluginServiceTest {
public void onPanelShown_returnsNullIfServiceUnavailable() {
when(mWalletClient.isWalletServiceAvailable()).thenReturn(false);
when(mWalletClient.isWalletFeatureAvailable()).thenReturn(true);
+ mPluginService.onCreate(mContext, mContext, mWalletClient);
GlobalActionsPanelPlugin.PanelViewController viewController =
mPluginService.onPanelShown(mPluginCallbacks, false, mWalletClient);