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

Commit 7b530049 authored by Brandon Dayauon's avatar Brandon Dayauon
Browse files

Searching for Golden Gate Bridge should show three queries and check if...

Searching for Golden Gate Bridge should show three queries and check if predicted app row and web suggest exists

Add a method that checks if three web suggests exist and another method to check for
predicted app row and web suggest exists.

bug: 225583735
test: Manual - photo: https://screenshot.googleplex.com/3NoSUm7nzTvf3gX
Change-Id: I7f9340229aaf4a0a3928933035f193a576995525
parent c04120e6
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ import android.widget.TextView;
import androidx.test.uiautomator.By;
import androidx.test.uiautomator.UiObject2;

import java.util.ArrayList;

/**
 * Operations on search result page opened from home screen qsb.
 */
@@ -27,6 +29,9 @@ public class SearchResultFromQsb {
    // The input resource id in the search box.
    private static final String INPUT_RES = "input";
    private static final String BOTTOM_SHEET_RES_ID = "bottom_sheet_background";

    // This particular ID change should happen with caution
    private static final String SEARCH_CONTAINER_RES_ID = "search_results_list_view";
    private final LauncherInstrumentation mLauncher;

    SearchResultFromQsb(LauncherInstrumentation launcher) {
@@ -49,6 +54,33 @@ public class SearchResultFromQsb {
        return new AllAppsAppIcon(mLauncher, icon);
    }

    /** Find the web suggestion from search suggestion's title text */
    public void findWebSuggest(String text) {
        ArrayList<UiObject2> goldenGateResults =
                new ArrayList<>(mLauncher.waitForObjectsInContainer(
                        mLauncher.waitForSystemLauncherObject(SEARCH_CONTAINER_RES_ID),
                        By.clazz(TextView.class)));
        boolean found = false;
        for(UiObject2 uiObject: goldenGateResults) {
            String currentString = uiObject.getText();
            if (currentString.equals(text)) {
                found = true;
            }
        }
        if (!found) {
            throw new IllegalStateException("Web suggestion title: " + text + " not found");
        }
    }

    /** Find the total amount of views being displayed and return the size */
    public int getSearchResultItemSize() {
        ArrayList<UiObject2> searchResultItems =
                new ArrayList<>(mLauncher.waitForObjectsInContainer(
                        mLauncher.waitForSystemLauncherObject(SEARCH_CONTAINER_RES_ID),
                        By.clazz(TextView.class)));
        return searchResultItems.size();
    }

    /**
     * Taps outside bottom sheet to dismiss and return to workspace. Available on tablets only.
     * @param tapRight Tap on the right of bottom sheet if true, or left otherwise.