Display a hardware info dialog when click model number.

Change-Id: I28eeb3e5c3ed290d4e03e0f3989adde0b966bede
Fix: 35851000
Test: make RunSettingsRoboTests
This commit is contained in:
Fan Zhang
2017-03-07 14:52:51 -08:00
parent e0b65fce67
commit dc5a06e7e4
7 changed files with 238 additions and 3 deletions

View File

@@ -16,6 +16,7 @@
package com.android.settings.deviceinfo;
import android.app.Fragment;
import android.content.Context;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
@@ -32,15 +33,20 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DeviceModelPreferenceControllerTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Fragment mFragment;
@Mock
private Preference mPreference;
@Mock
@@ -50,9 +56,10 @@ public class DeviceModelPreferenceControllerTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mController = new DeviceModelPreferenceController(mContext);
mController = new DeviceModelPreferenceController(mContext, mFragment);
when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
.thenReturn(mPreference);
when(mPreference.getKey()).thenReturn(mController.getPreferenceKey());
}
@Test
@@ -66,4 +73,13 @@ public class DeviceModelPreferenceControllerTest {
verify(mPreference).setSummary(anyString());
}
@Test
public void clickPreference_shouldLaunchHardwareInfoDialog() {
assertThat(mController.handlePreferenceTreeClick(mPreference))
.isTrue();
verify(mFragment).getFragmentManager();
verify(mFragment.getFragmentManager().beginTransaction())
.add(any(HardwareInfoDialogFragment.class), eq(HardwareInfoDialogFragment.TAG));
}
}