Commit 0f6f3d3b authored by Stephane Zermatten's avatar Stephane Zermatten Committed by Commit Bot

Wait longer for onboarding to show up in tests.

With this change, tests that wait for onboarding systematically call
AutofillAssistantUiTestUtil.waitUntilViewMatchesCondition, which waits
longer than expresso normally does.

Bug: 990118
Change-Id: Ie6ae12786eec2d4fab04b49aa13cdbfa6088e943
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1736706Reviewed-by: default avatarJordan Demeulenaere <jdemeulenaere@chromium.org>
Commit-Queue: Stephane Zermatten <szermatt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683978}
parent b25aacb6
......@@ -19,6 +19,8 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.verify;
import static org.chromium.chrome.browser.autofill_assistant.AutofillAssistantUiTestUtil.waitUntilViewMatchesCondition;
import android.support.annotation.IdRes;
import android.support.test.filters.MediumTest;
......@@ -99,8 +101,7 @@ public class AssistantOnboardingCoordinatorTest {
AutofillAssistantPreferencesUtil.setInitialPreferences(!expectAccept);
AssistantOnboardingCoordinator coordinator = createCoordinator(mTab);
ThreadUtils.runOnUiThreadBlocking(() -> coordinator.show(mCallback));
showOnboardingAndWait(coordinator, mCallback);
assertTrue(ThreadUtils.runOnUiThreadBlocking(coordinator::isInProgress));
onView(is(mActivity.getScrim())).check(matches(isDisplayed()));
......@@ -116,8 +117,7 @@ public class AssistantOnboardingCoordinatorTest {
@MediumTest
public void testOnboardingWithNoTabs() throws Exception {
AssistantOnboardingCoordinator coordinator = createCoordinator(/* tab= */ null);
ThreadUtils.runOnUiThreadBlocking(() -> coordinator.show(mCallback));
showOnboardingAndWait(coordinator, mCallback);
onView(withId(R.id.button_init_ok)).perform(click());
......@@ -131,9 +131,8 @@ public class AssistantOnboardingCoordinatorTest {
List<AssistantOverlayCoordinator> capturedOverlays =
Collections.synchronizedList(new ArrayList<>());
ThreadUtils.runOnUiThreadBlocking(() -> coordinator.show((accepted) -> {
capturedOverlays.add(coordinator.transferControls());
}));
showOnboardingAndWait(coordinator,
(accepted) -> { capturedOverlays.add(coordinator.transferControls()); });
onView(withId(R.id.button_init_ok)).perform(click());
assertFalse(ThreadUtils.runOnUiThreadBlocking(coordinator::isInProgress));
......@@ -150,4 +149,11 @@ public class AssistantOnboardingCoordinatorTest {
assertThat(mBottomSheetController.getBottomSheet().getCurrentSheetContent(),
instanceOf(AssistantBottomSheetContent.class));
}
/** Trigger onboarding and wait until it is fully displayed. */
private void showOnboardingAndWait(AssistantOnboardingCoordinator coordinator,
Callback<Boolean> callback) throws Exception {
ThreadUtils.runOnUiThreadBlocking(() -> coordinator.show(callback));
waitUntilViewMatchesCondition(withId(R.id.button_init_ok), isDisplayed());
}
}
......@@ -6,6 +6,7 @@ package org.chromium.chrome.browser.autofill_assistant;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static org.hamcrest.Matchers.contains;
......@@ -15,6 +16,8 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.chromium.chrome.browser.autofill_assistant.AutofillAssistantUiTestUtil.waitUntilViewMatchesCondition;
import android.os.Bundle;
import android.support.test.filters.MediumTest;
import android.text.TextUtils;
......@@ -158,6 +161,8 @@ public class AutofillAssistantDirectActionHandlerTest {
WaitingCallback<Boolean> onboardingCallback =
performActionAsync("onboarding", Bundle.EMPTY);
waitUntilViewMatchesCondition(withId(R.id.button_init_ok), isDisplayed());
assertFalse(onboardingCallback.hasResult());
onView(withId(R.id.button_init_ok)).perform(click());
assertEquals(Boolean.TRUE, onboardingCallback.waitForResult("accept onboarding"));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment