diff options
author | Sean Pont <seanpont@google.com> | 2020-06-19 19:02:38 -0700 |
---|---|---|
committer | Sean Pont <seanpont@google.com> | 2020-06-19 19:02:38 -0700 |
commit | c7c214b128d27a8f719744adfe5d3f96fe41d88f (patch) | |
tree | fdcea7c77e45ff50011d707ccf1cb56c9d40f263 /tests | |
parent | 9a70e1c9b4f8d91437421a7c8b471feb4a6ffdde (diff) | |
download | QuickAccessWallet-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')
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); |