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

Commit 8fc55e02 authored by Alex Johnston's avatar Alex Johnston
Browse files

Fix CredentialManagementAppControllerTest

Bug: 175277372
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=CredentialManagementAppControllerTest
Change-Id: I5f9177d19232f38a761df9adba94d080464120e2
parent c415e0d9
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);
    }
}