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

Commit 203b5203 authored by Thiébaud Weksteen's avatar Thiébaud Weksteen Committed by Thiebaud Weksteen
Browse files

Add onPreferenceChange_update tests

Bug: 180688212
Test: atest -c Enable2gPreferenceControllerTest
Change-Id: Ie7bc7a49f2ce4d5e8b8d75914fa46b613569566f
parent cdcd9491
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -22,6 +22,8 @@ import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.content.Context;
@@ -117,4 +119,27 @@ public final class Enable2gPreferenceControllerTest {

        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
    }

    @Test
    public void onPreferenceChange_update() {
        // Set "Enable 2G" flag to "on"
        when(mTelephonyManager.getAllowedNetworkTypesForReason(
                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G)).thenReturn(
                (long) (TelephonyManager.NETWORK_TYPE_BITMASK_GSM
                        | TelephonyManager.NETWORK_TYPE_BITMASK_LTE));

        // Setup state to allow disabling
        doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported(
                mTelephonyManager.CAPABILITY_ALLOWED_NETWORK_TYPES_USED);
        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G,
                false);

        // Disable 2G
        boolean changed = mController.setChecked(false);
        assertThat(changed).isEqualTo(true);

        verify(mTelephonyManager, times(1)).setAllowedNetworkTypesForReason(
                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G,
                TelephonyManager.NETWORK_TYPE_BITMASK_LTE);
    }
}