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

Commit 1392e6c9 authored by tmfang's avatar tmfang Committed by Raff Tsai
Browse files

Fix BatteryTipDialogFragmentTest

Test case can't get application info. We add test app information
in packagemanager in setup().

Test: atest BatteryTipDialogFragmentTest
Fixes: 134451831
Change-Id: I687f5f3a52ba8af346dbd0d798e4eee34a583870
parent 675bc194
Loading
Loading
Loading
Loading
+24 −3
Original line number Diff line number Diff line
@@ -22,6 +22,9 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;

import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.graphics.drawable.ColorDrawable;
import android.text.format.DateUtils;

import androidx.appcompat.app.AlertDialog;
@@ -38,15 +41,17 @@ import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
import com.android.settings.testutils.shadow.ShadowUtils;
import com.android.settingslib.fuelgauge.EstimateKt;

import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowPackageManager;
import org.robolectric.shadows.androidx.fragment.FragmentController;

import java.util.ArrayList;
@@ -70,6 +75,7 @@ public class BatteryTipDialogFragmentTest {
    private UnrestrictAppTip mUnrestrictAppTip;
    private SummaryTip mSummaryTip;
    private AppInfo mAppInfo;
    private ShadowPackageManager mPackageManager;

    @Before
    public void setUp() {
@@ -79,6 +85,18 @@ public class BatteryTipDialogFragmentTest {
        FakeFeatureFactory.setupForTest();
        ShadowUtils.setApplicationLabel(PACKAGE_NAME, DISPLAY_NAME);

        mPackageManager = Shadows.shadowOf(mContext.getPackageManager());

        final ApplicationInfo applicationInfo = new ApplicationInfo();
        applicationInfo.name = DISPLAY_NAME;
        applicationInfo.packageName = PACKAGE_NAME;

        final PackageInfo packageInfo = new PackageInfo();
        packageInfo.packageName = PACKAGE_NAME;
        packageInfo.applicationInfo = applicationInfo;
        mPackageManager.addPackage(packageInfo);
        mPackageManager.setApplicationIcon(PACKAGE_NAME, new ColorDrawable());

        List<AppInfo> highUsageTips = new ArrayList<>();
        mAppInfo = new AppInfo.Builder()
                .setScreenOnTimeMs(SCREEN_TIME_MS)
@@ -100,8 +118,12 @@ public class BatteryTipDialogFragmentTest {
                EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN));
    }

    @After
    public void tearDown() {
        mPackageManager.removePackage(PACKAGE_NAME);
    }

    @Test
    @Ignore
    public void testOnCreateDialog_highUsageTip_fireHighUsageDialog() {
        Robolectric.getForegroundThreadScheduler().pause();

@@ -137,7 +159,6 @@ public class BatteryTipDialogFragmentTest {
    }

    @Test
    @Ignore
    public void testOnCreateDialog_restrictTwoAppsTip_fireRestrictTwoAppsDialog() {
        Robolectric.getForegroundThreadScheduler().pause();