Merge "Fix CredentialManagementAppControllerTest"
This commit is contained in:
committed by
Android (Google) Code Review
commit
8403e31d82
@@ -28,6 +28,7 @@ import android.util.Log;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
@@ -72,7 +73,8 @@ public class CredentialManagementAppPreferenceController extends BasePreferenceC
|
||||
});
|
||||
}
|
||||
|
||||
private void displayPreference(Preference preference) {
|
||||
@VisibleForTesting
|
||||
void displayPreference(Preference preference) {
|
||||
if (mHasCredentialManagerPackage) {
|
||||
preference.setEnabled(true);
|
||||
try {
|
||||
|
@@ -18,6 +18,8 @@ package com.android.settings.security;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
@@ -26,27 +28,35 @@ import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class CredentialManagementAppControllerTest {
|
||||
|
||||
@Mock
|
||||
private Preference mPreference;
|
||||
|
||||
private Context mContext;
|
||||
private CredentialManagementAppPreferenceController mController;
|
||||
private Preference mPreference;
|
||||
|
||||
private static final String PREF_KEY_CREDENTIAL_MANAGEMENT_APP = "certificate_management_app";
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mController = new CredentialManagementAppPreferenceController(
|
||||
mContext, PREF_KEY_CREDENTIAL_MANAGEMENT_APP);
|
||||
mPreference = new Preference(mContext);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailable_shouldAlwaysReturnTrue() {
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -56,12 +66,10 @@ public class CredentialManagementAppControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void updateState_noCredentialManagementApp_shouldDisablePreference() {
|
||||
mController.updateState(mPreference);
|
||||
public void displayPreference_noCredentialManagementApp_shouldDisablePreference() {
|
||||
mController.displayPreference(mPreference);
|
||||
|
||||
assertThat(mPreference.isEnabled()).isEqualTo(false);
|
||||
assertThat(mPreference.getSummary()).isEqualTo(
|
||||
mContext.getText(R.string.no_certificate_management_app));
|
||||
verify(mPreference).setEnabled(false);
|
||||
verify(mPreference).setSummary(R.string.no_certificate_management_app);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user