Loading tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceControllerTest.java +3 −2 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import androidx.test.core.content.pm.ApplicationInfoBuilder; import com.android.settings.R; import com.android.settings.nfc.NfcPreferenceController; import com.android.settings.testutils.shadow.ShadowNfcAdapter; import org.junit.Before; import org.junit.Test; Loading @@ -43,7 +44,7 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowNfcAdapter; import org.robolectric.shadow.api.Shadow; import org.robolectric.shadows.ShadowPackageManager; import org.robolectric.util.ReflectionHelpers; Loading @@ -70,7 +71,7 @@ public class AdvancedConnectedDeviceControllerTest { mContentResolver = mContext.getContentResolver(); mNfcController = new NfcPreferenceController(mContext, NfcPreferenceController.KEY_TOGGLE_NFC); mShadowNfcAdapter = Shadows.shadowOf(NfcAdapter.getNfcAdapter(mContext)); mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext)); mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager()); } Loading tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java +9 −10 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.settings.connecteddevice; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.Context; import android.nfc.NfcAdapter; Loading @@ -26,35 +25,38 @@ import android.provider.SearchIndexableResource; import com.android.settings.nfc.AndroidBeamPreferenceController; import com.android.settings.testutils.shadow.ShadowConnectivityManager; import com.android.settings.testutils.shadow.ShadowNfcAdapter; import com.android.settings.testutils.shadow.ShadowUserManager; import com.android.settingslib.drawer.CategoryKey; import org.junit.Before; 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; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; import java.util.List; @RunWith(RobolectricTestRunner.class) @Config(shadows = {ShadowUserManager.class, ShadowConnectivityManager.class}) ShadowConnectivityManager.class, ShadowNfcAdapter.class}) public class AdvancedConnectedDeviceDashboardFragmentTest { private AdvancedConnectedDeviceDashboardFragment mFragment; @Mock private NfcAdapter mNfcAdapter; private Context mContext; private ShadowNfcAdapter mShadowNfcAdapter; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); mFragment = new AdvancedConnectedDeviceDashboardFragment(); mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext)); } @Test Loading @@ -79,13 +81,10 @@ public class AdvancedConnectedDeviceDashboardFragmentTest { @Test public void testSearchIndexProvider_correctNonIndexables() { Context context = spy(RuntimeEnvironment.application); when(context.getApplicationContext()).thenReturn(context); when(NfcAdapter.getDefaultAdapter(context)).thenReturn(mNfcAdapter); when(mNfcAdapter.isSecureNfcSupported()).thenReturn(true); mShadowNfcAdapter.setSecureNfcSupported(true); final List<String> niks = AdvancedConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER .getNonIndexableKeys(context); .getNonIndexableKeys(mContext); assertThat(niks).contains(AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS); } Loading tests/robotests/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentControllerTest.java +10 −7 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.nfc.NfcManager; import android.os.UserManager; import com.android.settings.R; import com.android.settings.testutils.shadow.ShadowNfcAdapter; import org.junit.Before; import org.junit.Test; Loading @@ -37,9 +38,12 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; import org.robolectric.util.ReflectionHelpers; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowNfcAdapter.class) public class NfcAndPaymentFragmentControllerTest { private NfcAndPaymentFragmentController mController; private Context mContext; Loading @@ -50,29 +54,28 @@ public class NfcAndPaymentFragmentControllerTest { private UserManager mUserManager; @Mock private NfcManager mNfcManager; @Mock private NfcAdapter mNfcAdapter; private ShadowNfcAdapter mShadowNfcAdapter; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext)); when(mContext.getApplicationContext()).thenReturn(mContext); when(mContext.getPackageManager()).thenReturn(mPackageManager); when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager); when(mContext.getSystemService(Context.NFC_SERVICE)).thenReturn(mNfcManager); when(NfcAdapter.getDefaultAdapter(mContext)).thenReturn(mNfcAdapter); mController = new NfcAndPaymentFragmentController(mContext, "fakeKey"); ReflectionHelpers.setField(mController, "mNfcAdapter", mNfcAdapter); } @Test public void getAvailabilityStatus_hasNfc_shouldReturnAvailable() { when(mPackageManager.hasSystemFeature(anyString())).thenReturn(true); when(mUserManager.isAdminUser()).thenReturn(true); when(mNfcAdapter.isEnabled()).thenReturn(true); mShadowNfcAdapter.setEnabled(true); assertThat(mController.getAvailabilityStatus()) .isEqualTo(NfcAndPaymentFragmentController.AVAILABLE); Loading @@ -87,14 +90,14 @@ public class NfcAndPaymentFragmentControllerTest { @Test public void getSummary_nfcOn_shouldProvideOnSummary() { when(mNfcAdapter.isEnabled()).thenReturn(true); mShadowNfcAdapter.setEnabled(true); assertThat(mController.getSummary().toString()).contains( mContext.getString(R.string.switch_on_text)); } @Test public void getSummary_nfcOff_shouldProvideOffSummary() { when(mNfcAdapter.isEnabled()).thenReturn(false); mShadowNfcAdapter.setEnabled(false); assertThat(mController.getSummary().toString()).contains( mContext.getString(R.string.switch_off_text)); } Loading tests/robotests/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentTest.java +17 −5 Original line number Diff line number Diff line Loading @@ -22,9 +22,12 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.Context; import android.content.pm.PackageManager; import android.nfc.NfcAdapter; import android.provider.SearchIndexableResource; import com.android.settings.testutils.shadow.ShadowNfcAdapter; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -32,16 +35,20 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; import java.util.List; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowNfcAdapter.class) public class NfcAndPaymentFragmentTest { @Mock private PackageManager mPackageManager; private NfcAndPaymentFragment mFragment; private Context mContext; @Mock private NfcAdapter mNfcAdapter; private ShadowNfcAdapter mShadowNfcAdapter; @Before public void setUp() { Loading @@ -49,6 +56,9 @@ public class NfcAndPaymentFragmentTest { mFragment = new NfcAndPaymentFragment(); mContext = spy(RuntimeEnvironment.application); mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext)); when(mContext.getPackageManager()).thenReturn(mPackageManager); } @Test Loading @@ -64,8 +74,10 @@ public class NfcAndPaymentFragmentTest { @Test public void searchIndexProvider_shouldIndexValidItems() { when(mContext.getApplicationContext()).thenReturn(mContext); when(NfcAdapter.getDefaultAdapter(mContext)).thenReturn(mNfcAdapter); when(mNfcAdapter.isSecureNfcSupported()).thenReturn(true); when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_NFC)).thenReturn(true); when(mPackageManager.hasSystemFeature( PackageManager.FEATURE_NFC_HOST_CARD_EMULATION)).thenReturn(true); mShadowNfcAdapter.setSecureNfcSupported(true); final List<String> niks = NfcAndPaymentFragment.SEARCH_INDEX_DATA_PROVIDER .getNonIndexableKeys(mContext); Loading tests/robotests/src/com/android/settings/nfc/AndroidBeamPreferenceControllerTest.java +16 −13 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.provider.Settings; import androidx.preference.PreferenceScreen; import com.android.settings.testutils.shadow.ShadowNfcAdapter; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.RestrictedPreference; Loading @@ -41,19 +42,20 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; import org.robolectric.util.ReflectionHelpers; import java.util.ArrayList; import java.util.List; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowNfcAdapter.class) public class AndroidBeamPreferenceControllerTest { Context mContext; @Mock private NfcAdapter mNfcAdapter; @Mock NfcManager mManager; NfcManager mNfcManager; @Mock private UserManager mUserManager; @Mock Loading @@ -63,18 +65,19 @@ public class AndroidBeamPreferenceControllerTest { private RestrictedPreference mAndroidBeamPreference; private AndroidBeamPreferenceController mAndroidBeamController; private ShadowNfcAdapter mShadowNfcAdapter; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext)); when(mContext.getApplicationContext()).thenReturn(mContext); when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager); when(mContext.getSystemService(Context.NFC_SERVICE)).thenReturn(mManager); when(mContext.getSystemService(Context.NFC_SERVICE)).thenReturn(mNfcManager); when(RestrictedLockUtilsInternal.hasBaseUserRestriction(mContext, UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId())).thenReturn(false); when(NfcAdapter.getDefaultAdapter(mContext)).thenReturn(mNfcAdapter); mAndroidBeamController = new AndroidBeamPreferenceController(mContext, AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS); Loading @@ -95,13 +98,13 @@ public class AndroidBeamPreferenceControllerTest { @Test public void isAvailable_hasNfc_shouldReturnTrue() { when(mNfcAdapter.isEnabled()).thenReturn(true); mShadowNfcAdapter.setEnabled(true); assertThat(mAndroidBeamController.isAvailable()).isTrue(); } @Test public void isAvailable_noNfcFeature_shouldReturnFalse() { when(mNfcAdapter.isEnabled()).thenReturn(true); mShadowNfcAdapter.setEnabled(true); when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_NFC_BEAM)).thenReturn(false); assertThat(mAndroidBeamController.isAvailable()).isFalse(); } Loading @@ -114,7 +117,7 @@ public class AndroidBeamPreferenceControllerTest { @Test public void isBeamEnable_disAllowBeam_shouldReturnFalse() { when(mNfcAdapter.getAdapterState()).thenReturn(NfcAdapter.STATE_OFF); mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_OFF); when(RestrictedLockUtilsInternal.hasBaseUserRestriction(mContext, UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId())).thenReturn(true); Loading @@ -125,7 +128,7 @@ public class AndroidBeamPreferenceControllerTest { @Test public void isBeamEnable_nfcStateOn_shouldReturnTrue() { when(mNfcAdapter.getAdapterState()).thenReturn(NfcAdapter.STATE_ON); mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_ON); try { mAndroidBeamController.onResume(); } catch (NullPointerException e) { Loading @@ -137,22 +140,22 @@ public class AndroidBeamPreferenceControllerTest { @Test public void isBeamEnable_nfcStateNotOn_shouldReturnFalse() { when(mNfcAdapter.getAdapterState()).thenReturn(NfcAdapter.STATE_OFF); mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_OFF); mAndroidBeamController.onResume(); assertThat(mAndroidBeamPreference.isEnabled()).isFalse(); when(mNfcAdapter.getAdapterState()).thenReturn(NfcAdapter.STATE_TURNING_ON); mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_TURNING_ON); mAndroidBeamController.onResume(); assertThat(mAndroidBeamPreference.isEnabled()).isFalse(); when(mNfcAdapter.getAdapterState()).thenReturn(NfcAdapter.STATE_TURNING_OFF); mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_TURNING_OFF); mAndroidBeamController.onResume(); assertThat(mAndroidBeamPreference.isEnabled()).isFalse(); } @Test public void updateNonIndexableKeys_available_shouldNotUpdate() { when(mNfcAdapter.isEnabled()).thenReturn(true); mShadowNfcAdapter.setEnabled(true); final List<String> keys = new ArrayList<>(); mAndroidBeamController.updateNonIndexableKeys(keys); Loading Loading
tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceControllerTest.java +3 −2 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import androidx.test.core.content.pm.ApplicationInfoBuilder; import com.android.settings.R; import com.android.settings.nfc.NfcPreferenceController; import com.android.settings.testutils.shadow.ShadowNfcAdapter; import org.junit.Before; import org.junit.Test; Loading @@ -43,7 +44,7 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowNfcAdapter; import org.robolectric.shadow.api.Shadow; import org.robolectric.shadows.ShadowPackageManager; import org.robolectric.util.ReflectionHelpers; Loading @@ -70,7 +71,7 @@ public class AdvancedConnectedDeviceControllerTest { mContentResolver = mContext.getContentResolver(); mNfcController = new NfcPreferenceController(mContext, NfcPreferenceController.KEY_TOGGLE_NFC); mShadowNfcAdapter = Shadows.shadowOf(NfcAdapter.getNfcAdapter(mContext)); mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext)); mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager()); } Loading
tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java +9 −10 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.settings.connecteddevice; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.Context; import android.nfc.NfcAdapter; Loading @@ -26,35 +25,38 @@ import android.provider.SearchIndexableResource; import com.android.settings.nfc.AndroidBeamPreferenceController; import com.android.settings.testutils.shadow.ShadowConnectivityManager; import com.android.settings.testutils.shadow.ShadowNfcAdapter; import com.android.settings.testutils.shadow.ShadowUserManager; import com.android.settingslib.drawer.CategoryKey; import org.junit.Before; 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; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; import java.util.List; @RunWith(RobolectricTestRunner.class) @Config(shadows = {ShadowUserManager.class, ShadowConnectivityManager.class}) ShadowConnectivityManager.class, ShadowNfcAdapter.class}) public class AdvancedConnectedDeviceDashboardFragmentTest { private AdvancedConnectedDeviceDashboardFragment mFragment; @Mock private NfcAdapter mNfcAdapter; private Context mContext; private ShadowNfcAdapter mShadowNfcAdapter; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); mFragment = new AdvancedConnectedDeviceDashboardFragment(); mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext)); } @Test Loading @@ -79,13 +81,10 @@ public class AdvancedConnectedDeviceDashboardFragmentTest { @Test public void testSearchIndexProvider_correctNonIndexables() { Context context = spy(RuntimeEnvironment.application); when(context.getApplicationContext()).thenReturn(context); when(NfcAdapter.getDefaultAdapter(context)).thenReturn(mNfcAdapter); when(mNfcAdapter.isSecureNfcSupported()).thenReturn(true); mShadowNfcAdapter.setSecureNfcSupported(true); final List<String> niks = AdvancedConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER .getNonIndexableKeys(context); .getNonIndexableKeys(mContext); assertThat(niks).contains(AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS); } Loading
tests/robotests/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentControllerTest.java +10 −7 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.nfc.NfcManager; import android.os.UserManager; import com.android.settings.R; import com.android.settings.testutils.shadow.ShadowNfcAdapter; import org.junit.Before; import org.junit.Test; Loading @@ -37,9 +38,12 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; import org.robolectric.util.ReflectionHelpers; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowNfcAdapter.class) public class NfcAndPaymentFragmentControllerTest { private NfcAndPaymentFragmentController mController; private Context mContext; Loading @@ -50,29 +54,28 @@ public class NfcAndPaymentFragmentControllerTest { private UserManager mUserManager; @Mock private NfcManager mNfcManager; @Mock private NfcAdapter mNfcAdapter; private ShadowNfcAdapter mShadowNfcAdapter; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext)); when(mContext.getApplicationContext()).thenReturn(mContext); when(mContext.getPackageManager()).thenReturn(mPackageManager); when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager); when(mContext.getSystemService(Context.NFC_SERVICE)).thenReturn(mNfcManager); when(NfcAdapter.getDefaultAdapter(mContext)).thenReturn(mNfcAdapter); mController = new NfcAndPaymentFragmentController(mContext, "fakeKey"); ReflectionHelpers.setField(mController, "mNfcAdapter", mNfcAdapter); } @Test public void getAvailabilityStatus_hasNfc_shouldReturnAvailable() { when(mPackageManager.hasSystemFeature(anyString())).thenReturn(true); when(mUserManager.isAdminUser()).thenReturn(true); when(mNfcAdapter.isEnabled()).thenReturn(true); mShadowNfcAdapter.setEnabled(true); assertThat(mController.getAvailabilityStatus()) .isEqualTo(NfcAndPaymentFragmentController.AVAILABLE); Loading @@ -87,14 +90,14 @@ public class NfcAndPaymentFragmentControllerTest { @Test public void getSummary_nfcOn_shouldProvideOnSummary() { when(mNfcAdapter.isEnabled()).thenReturn(true); mShadowNfcAdapter.setEnabled(true); assertThat(mController.getSummary().toString()).contains( mContext.getString(R.string.switch_on_text)); } @Test public void getSummary_nfcOff_shouldProvideOffSummary() { when(mNfcAdapter.isEnabled()).thenReturn(false); mShadowNfcAdapter.setEnabled(false); assertThat(mController.getSummary().toString()).contains( mContext.getString(R.string.switch_off_text)); } Loading
tests/robotests/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentTest.java +17 −5 Original line number Diff line number Diff line Loading @@ -22,9 +22,12 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.Context; import android.content.pm.PackageManager; import android.nfc.NfcAdapter; import android.provider.SearchIndexableResource; import com.android.settings.testutils.shadow.ShadowNfcAdapter; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -32,16 +35,20 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; import java.util.List; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowNfcAdapter.class) public class NfcAndPaymentFragmentTest { @Mock private PackageManager mPackageManager; private NfcAndPaymentFragment mFragment; private Context mContext; @Mock private NfcAdapter mNfcAdapter; private ShadowNfcAdapter mShadowNfcAdapter; @Before public void setUp() { Loading @@ -49,6 +56,9 @@ public class NfcAndPaymentFragmentTest { mFragment = new NfcAndPaymentFragment(); mContext = spy(RuntimeEnvironment.application); mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext)); when(mContext.getPackageManager()).thenReturn(mPackageManager); } @Test Loading @@ -64,8 +74,10 @@ public class NfcAndPaymentFragmentTest { @Test public void searchIndexProvider_shouldIndexValidItems() { when(mContext.getApplicationContext()).thenReturn(mContext); when(NfcAdapter.getDefaultAdapter(mContext)).thenReturn(mNfcAdapter); when(mNfcAdapter.isSecureNfcSupported()).thenReturn(true); when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_NFC)).thenReturn(true); when(mPackageManager.hasSystemFeature( PackageManager.FEATURE_NFC_HOST_CARD_EMULATION)).thenReturn(true); mShadowNfcAdapter.setSecureNfcSupported(true); final List<String> niks = NfcAndPaymentFragment.SEARCH_INDEX_DATA_PROVIDER .getNonIndexableKeys(mContext); Loading
tests/robotests/src/com/android/settings/nfc/AndroidBeamPreferenceControllerTest.java +16 −13 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.provider.Settings; import androidx.preference.PreferenceScreen; import com.android.settings.testutils.shadow.ShadowNfcAdapter; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.RestrictedPreference; Loading @@ -41,19 +42,20 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; import org.robolectric.util.ReflectionHelpers; import java.util.ArrayList; import java.util.List; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowNfcAdapter.class) public class AndroidBeamPreferenceControllerTest { Context mContext; @Mock private NfcAdapter mNfcAdapter; @Mock NfcManager mManager; NfcManager mNfcManager; @Mock private UserManager mUserManager; @Mock Loading @@ -63,18 +65,19 @@ public class AndroidBeamPreferenceControllerTest { private RestrictedPreference mAndroidBeamPreference; private AndroidBeamPreferenceController mAndroidBeamController; private ShadowNfcAdapter mShadowNfcAdapter; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext)); when(mContext.getApplicationContext()).thenReturn(mContext); when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager); when(mContext.getSystemService(Context.NFC_SERVICE)).thenReturn(mManager); when(mContext.getSystemService(Context.NFC_SERVICE)).thenReturn(mNfcManager); when(RestrictedLockUtilsInternal.hasBaseUserRestriction(mContext, UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId())).thenReturn(false); when(NfcAdapter.getDefaultAdapter(mContext)).thenReturn(mNfcAdapter); mAndroidBeamController = new AndroidBeamPreferenceController(mContext, AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS); Loading @@ -95,13 +98,13 @@ public class AndroidBeamPreferenceControllerTest { @Test public void isAvailable_hasNfc_shouldReturnTrue() { when(mNfcAdapter.isEnabled()).thenReturn(true); mShadowNfcAdapter.setEnabled(true); assertThat(mAndroidBeamController.isAvailable()).isTrue(); } @Test public void isAvailable_noNfcFeature_shouldReturnFalse() { when(mNfcAdapter.isEnabled()).thenReturn(true); mShadowNfcAdapter.setEnabled(true); when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_NFC_BEAM)).thenReturn(false); assertThat(mAndroidBeamController.isAvailable()).isFalse(); } Loading @@ -114,7 +117,7 @@ public class AndroidBeamPreferenceControllerTest { @Test public void isBeamEnable_disAllowBeam_shouldReturnFalse() { when(mNfcAdapter.getAdapterState()).thenReturn(NfcAdapter.STATE_OFF); mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_OFF); when(RestrictedLockUtilsInternal.hasBaseUserRestriction(mContext, UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId())).thenReturn(true); Loading @@ -125,7 +128,7 @@ public class AndroidBeamPreferenceControllerTest { @Test public void isBeamEnable_nfcStateOn_shouldReturnTrue() { when(mNfcAdapter.getAdapterState()).thenReturn(NfcAdapter.STATE_ON); mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_ON); try { mAndroidBeamController.onResume(); } catch (NullPointerException e) { Loading @@ -137,22 +140,22 @@ public class AndroidBeamPreferenceControllerTest { @Test public void isBeamEnable_nfcStateNotOn_shouldReturnFalse() { when(mNfcAdapter.getAdapterState()).thenReturn(NfcAdapter.STATE_OFF); mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_OFF); mAndroidBeamController.onResume(); assertThat(mAndroidBeamPreference.isEnabled()).isFalse(); when(mNfcAdapter.getAdapterState()).thenReturn(NfcAdapter.STATE_TURNING_ON); mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_TURNING_ON); mAndroidBeamController.onResume(); assertThat(mAndroidBeamPreference.isEnabled()).isFalse(); when(mNfcAdapter.getAdapterState()).thenReturn(NfcAdapter.STATE_TURNING_OFF); mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_TURNING_OFF); mAndroidBeamController.onResume(); assertThat(mAndroidBeamPreference.isEnabled()).isFalse(); } @Test public void updateNonIndexableKeys_available_shouldNotUpdate() { when(mNfcAdapter.isEnabled()).thenReturn(true); mShadowNfcAdapter.setEnabled(true); final List<String> keys = new ArrayList<>(); mAndroidBeamController.updateNonIndexableKeys(keys); Loading