Bug 1853045 - Add nimbus homescreen survey message integration test - Dismiss Survey (#3625)

fenix/119.0
Benjamin Forehand Jr 10 months ago committed by GitHub
parent be58cba450
commit b31bfa8ce1

@ -22,7 +22,11 @@ class SurveyExperimentIntegrationTest {
private val experimentName = "Viewpoint"
@get:Rule
val activityTestRule = HomeActivityTestRule()
val activityTestRule = HomeActivityTestRule(
isJumpBackInCFREnabled = false,
isPWAsPromptEnabled = false,
isTCPCFREnabled = false,
)
@Before
fun setUp() {
@ -38,7 +42,25 @@ class SurveyExperimentIntegrationTest {
fun checkSurveyNavigatesCorrectly() {
browserScreen {
verifySurveyButton()
}.clickSurveyButton {}
}.clickSurveyButton {
verifyUrl(surveyURL)
}
homeScreen {
}.openThreeDotMenu {
}.openSettings {
}.openExperimentsMenu {
verifyExperimentExists(experimentName)
}
}
@Test
fun checkSurveyNoThanksNavigatesCorrectly() {
browserScreen {
verifySurveyNoThanksButton()
}.clickNoThanksSurveyButton {
verifyTabCounter("0")
}
homeScreen {
}.openThreeDotMenu {

@ -5,3 +5,8 @@ import pytest
def test_survey_navigates_correctly(setup_experiment, gradlewbuild, load_branches):
setup_experiment(load_branches)
gradlewbuild.test("SurveyExperimentIntegrationTest#checkSurveyNavigatesCorrectly")
@pytest.mark.parametrize("load_branches", [("branch")], indirect=True)
def test_survey_no_thanks_navigates_correctly(setup_experiment, gradlewbuild, load_branches):
setup_experiment(load_branches)
gradlewbuild.test("SurveyExperimentIntegrationTest#checkSurveyNoThanksNavigatesCorrectly")

@ -882,6 +882,17 @@ class BrowserRobot {
assertTrue(button.waitForExists(waitingTime))
}
fun verifySurveyNoThanksButton() {
val button = mDevice.findObject(
UiSelector().text(
getStringResource(
R.string.preferences_not_take_survey,
),
),
)
assertTrue(button.waitForExists(waitingTime))
}
fun clickOpenLinksInAppsDismissCFRButton() =
itemWithResIdContainingText(
"$packageName:id/dismiss",
@ -900,6 +911,18 @@ class BrowserRobot {
button.click()
}
fun clickNoThanksSurveyButton() {
val button = mDevice.findObject(
UiSelector().text(
getStringResource(
R.string.preferences_not_take_survey,
),
),
)
button.waitForExists(waitingTime)
button.click()
}
fun longClickToolbar() = mDevice.findObject(By.res("$packageName:id/mozac_browser_toolbar_url_view")).click(LONG_CLICK_DURATION)
fun verifyDownloadPromptIsDismissed() =
@ -1235,6 +1258,14 @@ class BrowserRobot {
BrowserRobot().interact()
return Transition()
}
fun clickNoThanksSurveyButton(interact: BrowserRobot.() -> Unit): BrowserRobot.Transition {
surveyNoThanksButton.waitForExists(waitingTime)
surveyNoThanksButton.click()
BrowserRobot().interact()
return Transition()
}
}
}
@ -1387,3 +1418,6 @@ private val contextMenuOpenInExternalApp =
private val surveyButton =
itemContainingText(getStringResource(R.string.preferences_take_survey))
private val surveyNoThanksButton =
itemContainingText(getStringResource(R.string.preferences_not_take_survey))

Loading…
Cancel
Save