Fix testcase error

Fixes: 144832138
Fixes: 144831580
Test: robolectric
Change-Id: I01efc467cf75b5beb2d2dd23188a8fa7d67f32ed
This commit is contained in:
Raff Tsai
2019-11-21 00:57:05 +08:00
parent bb32051ce0
commit 21c466ff5b
3 changed files with 31 additions and 3 deletions

View File

@@ -190,7 +190,8 @@ public class SecondaryUserController extends AbstractPreferenceController implem
} }
} }
private static class NoSecondaryUserController extends AbstractPreferenceController implements @VisibleForTesting
static class NoSecondaryUserController extends AbstractPreferenceController implements
PreferenceControllerMixin { PreferenceControllerMixin {
public NoSecondaryUserController(Context context) { public NoSecondaryUserController(Context context) {
super(context); super(context);
@@ -214,6 +215,5 @@ public class SecondaryUserController extends AbstractPreferenceController implem
public String getPreferenceKey() { public String getPreferenceKey() {
return null; return null;
} }
} }
} }

View File

@@ -30,11 +30,13 @@ import static org.mockito.Mockito.when;
import android.app.ActivityManager; import android.app.ActivityManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.util.FeatureFlagUtils;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction; import androidx.fragment.app.FragmentTransaction;
import com.android.settings.core.FeatureFlags;
import com.android.settings.core.OnActivityResultListener; import com.android.settings.core.OnActivityResultListener;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
@@ -65,6 +67,8 @@ public class SettingsActivityTest {
mContext = RuntimeEnvironment.application; mContext = RuntimeEnvironment.application;
mActivity = spy(new SettingsActivity()); mActivity = spy(new SettingsActivity());
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.PERSONAL_WORK_PROFILE, false);
} }
@Test @Test

View File

@@ -29,12 +29,14 @@ import android.content.Context;
import android.content.pm.UserInfo; import android.content.pm.UserInfo;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.UserManager; import android.os.UserManager;
import android.util.FeatureFlagUtils;
import android.util.SparseArray; import android.util.SparseArray;
import androidx.preference.Preference; import androidx.preference.Preference;
import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
import com.android.settings.core.FeatureFlags;
import com.android.settingslib.applications.StorageStatsSource; import com.android.settingslib.applications.StorageStatsSource;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.drawable.UserIconDrawable; import com.android.settingslib.drawable.UserIconDrawable;
@@ -78,6 +80,8 @@ public class SecondaryUserControllerTest {
when(mScreen.getContext()).thenReturn(mContext); when(mScreen.getContext()).thenReturn(mContext);
when(mScreen.findPreference(anyString())).thenReturn(mGroup); when(mScreen.findPreference(anyString())).thenReturn(mGroup);
when(mGroup.getKey()).thenReturn(TARGET_PREFERENCE_GROUP_KEY); when(mGroup.getKey()).thenReturn(TARGET_PREFERENCE_GROUP_KEY);
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.PERSONAL_WORK_PROFILE, false);
} }
@Test @Test
@@ -119,7 +123,8 @@ public class SecondaryUserControllerTest {
} }
@Test @Test
public void secondaryUserAddedIfHasDistinctId() { public void getSecondaryUserControllers_notWorkProfile_addSecondaryUserController() {
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.PERSONAL_WORK_PROFILE, false);
final ArrayList<UserInfo> userInfos = new ArrayList<>(); final ArrayList<UserInfo> userInfos = new ArrayList<>();
final UserInfo secondaryUser = new UserInfo(); final UserInfo secondaryUser = new UserInfo();
secondaryUser.id = 10; secondaryUser.id = 10;
@@ -135,6 +140,25 @@ public class SecondaryUserControllerTest {
assertThat(controllers.get(0) instanceof SecondaryUserController).isTrue(); assertThat(controllers.get(0) instanceof SecondaryUserController).isTrue();
} }
@Test
public void getSecondaryUserControllers_workProfile_addNoSecondaryUserController() {
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.PERSONAL_WORK_PROFILE, true);
final ArrayList<UserInfo> userInfos = new ArrayList<>();
final UserInfo secondaryUser = new UserInfo();
secondaryUser.id = 10;
secondaryUser.profileGroupId = 101010; // this just has to be something not 0
userInfos.add(mPrimaryUser);
userInfos.add(secondaryUser);
when(mUserManager.getPrimaryUser()).thenReturn(mPrimaryUser);
when(mUserManager.getUsers()).thenReturn(userInfos);
final List<AbstractPreferenceController> controllers =
SecondaryUserController.getSecondaryUserControllers(mContext, mUserManager);
assertThat(controllers).hasSize(1);
assertThat(controllers.get(
0) instanceof SecondaryUserController.NoSecondaryUserController).isTrue();
}
@Test @Test
public void profilesOfPrimaryUserAreNotIgnored() { public void profilesOfPrimaryUserAreNotIgnored() {
final ArrayList<UserInfo> userInfos = new ArrayList<>(); final ArrayList<UserInfo> userInfos = new ArrayList<>();