Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8403e31d authored by Alex Johnston's avatar Alex Johnston Committed by Android (Google) Code Review
Browse files

Merge "Fix CredentialManagementAppControllerTest"

parents f4e71b00 8fc55e02
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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 {
+17 −9
Original line number Diff line number Diff line
@@ -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);
    }
}