Fix broken test

Test: Run robo test and pass
Fix: 176275647
Change-Id: Ia6809f9c3cf90b8f549770cfaee34918aa0769f8
This commit is contained in:
Tsung-Mao Fang
2020-12-24 17:27:04 +08:00
parent a12003a9ac
commit 0e0b1ce05c

View File

@@ -24,12 +24,18 @@ import static org.robolectric.RuntimeEnvironment.application;
import android.app.Activity;
import android.app.KeyguardManager;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.hardware.biometrics.SensorProperties;
import android.hardware.fingerprint.FingerprintSensorProperties;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
import android.view.View;
import android.widget.Button;
import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowFingerprintManager;
import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
import com.android.settings.testutils.shadow.ShadowStorageManager;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.google.android.setupcompat.PartnerCustomizationLayout;
@@ -46,18 +52,39 @@ import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowActivity;
import org.robolectric.shadows.ShadowKeyguardManager;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowLockPatternUtils.class, ShadowUserManager.class})
public class FingerprintSuggestionActivityTest {
import java.util.ArrayList;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowFingerprintManager.class,
ShadowLockPatternUtils.class,
ShadowStorageManager.class,
ShadowUserManager.class
})
public class FingerprintSuggestionActivityTest {
private FingerprintSuggestionActivity mActivity;
private ActivityController<FingerprintSuggestionActivity> mController;
@Before
public void setUp() {
Shadows.shadowOf(application.getPackageManager())
.setSystemFeature(PackageManager.FEATURE_FINGERPRINT, true);
final FingerprintSensorPropertiesInternal prop = new FingerprintSensorPropertiesInternal(
0 /* sensorId */,
SensorProperties.STRENGTH_STRONG,
5 /* maxEnrollmentsPerUser */,
FingerprintSensorProperties.TYPE_REAR,
true /* resetLockoutRequiresHardwareAuthToken */);
final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
props.add(prop);
ShadowFingerprintManager.setSensorProperties(props);
FakeFeatureFactory.setupForTest();
final Intent intent = new Intent();
mController = Robolectric.buildActivity(FingerprintSuggestionActivity.class, intent);
mActivity = mController.get();
}
@Test
@@ -66,8 +93,7 @@ public class FingerprintSuggestionActivityTest {
mController.create().resume();
PartnerCustomizationLayout layout =
mController.get().findViewById(R.id.setup_wizard_layout);
PartnerCustomizationLayout layout = mActivity.findViewById(R.id.setup_wizard_layout);
final Button cancelButton =
layout.getMixin(FooterBarMixin.class).getSecondaryButtonView();
assertThat(cancelButton.getText().toString()).isEqualTo("Cancel");
@@ -75,8 +101,8 @@ public class FingerprintSuggestionActivityTest {
.isEqualTo(View.VISIBLE);
cancelButton.performClick();
ShadowActivity shadowActivity = Shadows.shadowOf(mController.get());
assertWithMessage("Is finishing").that(mController.get().isFinishing()).isTrue();
ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
assertWithMessage("Is finishing").that(mActivity.isFinishing()).isTrue();
assertWithMessage("Result code").that(shadowActivity.getResultCode())
.isEqualTo(Activity.RESULT_CANCELED);
}