Merge "Fix CredentialManagementAppControllerTest"

This commit is contained in:
Alex Johnston
2021-01-20 15:24:14 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 10 deletions

View File

@@ -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 {

View File

@@ -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);
}
}