Move logic for FR in demo mode out of Settings

Bug: 62712426
Test: make \
ROBOTEST_FILTER="(MasterClearTest|FactoryResetPreferenceControllerTest
|UtilsTest)" \
RunSettingsRoboTests -j100
Change-Id: I5e287c3d4a6a7050bda78187c52aec19e90b50bc
This commit is contained in:
Christine Franks
2017-06-23 14:28:21 -07:00
parent e4c9b7162d
commit a09eb383d9
9 changed files with 59 additions and 188 deletions

View File

@@ -27,6 +27,7 @@ import static org.robolectric.Shadows.shadowOf;
import android.app.Activity;
import android.app.Fragment;
import android.content.ContentResolver;
import android.content.Intent;
import android.os.Bundle;
import android.provider.Settings;
import android.view.LayoutInflater;
@@ -36,6 +37,8 @@ import android.widget.LinearLayout;
import android.widget.ScrollView;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.testutils.shadow.ShadowUtils;
import org.junit.Before;
import org.junit.Test;
@@ -43,11 +46,10 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowActivity;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class MasterClearTest {
@@ -167,6 +169,22 @@ public class MasterClearTest {
assertThat(mMasterClear.hasReachedBottom(mScrollView)).isTrue();
}
@Test
@Config(shadows = { ShadowUtils.class, SettingsShadowResources.class })
public void testInitiateMasterClear_inDemoMode_sendsIntent() {
SettingsShadowResources.overrideResource(
com.android.internal.R.string.config_demoModePackage, "package");
ShadowUtils.setIsDemoUser(true);
mMasterClear.mInitiateListener.onClick(
mContentView.findViewById(R.id.initiate_master_clear));
final Intent intent = mShadowActivity.getNextStartedActivity();
assertThat(Intent.ACTION_FACTORY_RESET).isEqualTo(intent.getAction());
final String packageName = Utils.getDemoModePackageName(RuntimeEnvironment.application);
assertThat(packageName).isEqualTo(intent.getPackage());
}
private void initScrollView(int height, int scrollY, int childBottom) {
when(mScrollView.getHeight()).thenReturn(height);
when(mScrollView.getScrollY()).thenReturn(scrollY);