The new About > Account behavior
- Change the display content of the summary while multiple accounts. - Goto the Passwords & accounts page when users click Account item. Fixes: 290593956 Test: atest BrandedAccountPreferenceControllerTest Change-Id: Iae32803076d86455f52f2ffd278e06995161adfe
This commit is contained in:
@@ -17,7 +17,6 @@
|
||||
package com.android.settings.deviceinfo;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -26,6 +25,9 @@ import android.accounts.Account;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceManager;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
@@ -46,17 +48,21 @@ public class BrandedAccountPreferenceControllerTest {
|
||||
private Context mContext;
|
||||
private FakeFeatureFactory mFakeFeatureFactory;
|
||||
|
||||
private PreferenceScreen mScreen;
|
||||
private Preference mPreference;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(ApplicationProvider.getApplicationContext());
|
||||
when(mContext.getResources()).thenReturn(mResources);
|
||||
mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
|
||||
mScreen = new PreferenceManager(mContext).createPreferenceScreen(mContext);
|
||||
mPreference = new Preference(mContext);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAvailable_configOn_noAccount_off() {
|
||||
when(mContext.getResources()).thenReturn(mResources);
|
||||
final int boolId = ResourcesUtils.getResourcesId(
|
||||
ApplicationProvider.getApplicationContext(), "bool",
|
||||
"config_show_branded_account_in_device_info");
|
||||
@@ -69,6 +75,7 @@ public class BrandedAccountPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void isAvailable_accountIsAvailable_on() {
|
||||
when(mContext.getResources()).thenReturn(mResources);
|
||||
final int boolId = ResourcesUtils.getResourcesId(
|
||||
ApplicationProvider.getApplicationContext(), "bool",
|
||||
"config_show_branded_account_in_device_info");
|
||||
@@ -84,6 +91,7 @@ public class BrandedAccountPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void isAvailable_configOff_hasAccount_off() {
|
||||
when(mContext.getResources()).thenReturn(mResources);
|
||||
final int boolId = ResourcesUtils.getResourcesId(
|
||||
ApplicationProvider.getApplicationContext(), "bool",
|
||||
"config_show_branded_account_in_device_info");
|
||||
@@ -96,4 +104,42 @@ public class BrandedAccountPreferenceControllerTest {
|
||||
|
||||
assertThat(controller.isAvailable()).isFalse();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test displayPreference has one account.
|
||||
*/
|
||||
@Test
|
||||
public void displayPreference_hasOneAccount_showAccount() {
|
||||
when(mFakeFeatureFactory.mAccountFeatureProvider.getAccounts(any(Context.class)))
|
||||
.thenReturn(new Account[]{new Account("teresaikeda@gmail.com",
|
||||
"com.google")});
|
||||
|
||||
mPreference.setKey("test_key");
|
||||
mScreen.addPreference(mPreference);
|
||||
final BrandedAccountPreferenceController controller =
|
||||
new BrandedAccountPreferenceController(mContext, "test_key");
|
||||
|
||||
controller.displayPreference(mScreen);
|
||||
|
||||
assertThat(mPreference.getSummary()).isEqualTo("teresaikeda@gmail.com");
|
||||
}
|
||||
|
||||
/**
|
||||
* Test displayPreference has two accounts.
|
||||
*/
|
||||
@Test
|
||||
public void displayPreference_hasTwoAccounts_showTwoAccountSummary() {
|
||||
when(mFakeFeatureFactory.mAccountFeatureProvider.getAccounts(any(Context.class)))
|
||||
.thenReturn(new Account[]{new Account("teresa@gmail.com", "com.google"),
|
||||
new Account("reno@gmail.com", "com.google") });
|
||||
|
||||
mPreference.setKey("test_key");
|
||||
mScreen.addPreference(mPreference);
|
||||
final BrandedAccountPreferenceController controller =
|
||||
new BrandedAccountPreferenceController(mContext, "test_key");
|
||||
|
||||
controller.displayPreference(mScreen);
|
||||
|
||||
assertThat(mPreference.getSummary()).isEqualTo("2 accounts");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user