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 androidx.preference.Preference;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.BasePreferenceController; 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) { if (mHasCredentialManagerPackage) {
preference.setEnabled(true); preference.setEnabled(true);
try { try {

View File

@@ -18,6 +18,8 @@ package com.android.settings.security;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.verify;
import android.content.Context; import android.content.Context;
import androidx.preference.Preference; import androidx.preference.Preference;
@@ -26,27 +28,35 @@ import com.android.settings.R;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
public class CredentialManagementAppControllerTest { public class CredentialManagementAppControllerTest {
@Mock
private Preference mPreference;
private Context mContext; private Context mContext;
private CredentialManagementAppPreferenceController mController; private CredentialManagementAppPreferenceController mController;
private Preference mPreference;
private static final String PREF_KEY_CREDENTIAL_MANAGEMENT_APP = "certificate_management_app"; private static final String PREF_KEY_CREDENTIAL_MANAGEMENT_APP = "certificate_management_app";
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application; mContext = RuntimeEnvironment.application;
mController = new CredentialManagementAppPreferenceController( mController = new CredentialManagementAppPreferenceController(
mContext, PREF_KEY_CREDENTIAL_MANAGEMENT_APP); mContext, PREF_KEY_CREDENTIAL_MANAGEMENT_APP);
mPreference = new Preference(mContext); }
@Test
public void getAvailable_shouldAlwaysReturnTrue() {
assertThat(mController.isAvailable()).isTrue();
} }
@Test @Test
@@ -56,12 +66,10 @@ public class CredentialManagementAppControllerTest {
} }
@Test @Test
@Ignore public void displayPreference_noCredentialManagementApp_shouldDisablePreference() {
public void updateState_noCredentialManagementApp_shouldDisablePreference() { mController.displayPreference(mPreference);
mController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isEqualTo(false); verify(mPreference).setEnabled(false);
assertThat(mPreference.getSummary()).isEqualTo( verify(mPreference).setSummary(R.string.no_certificate_management_app);
mContext.getText(R.string.no_certificate_management_app));
} }
} }