Bug 1856505 - Add unenrollment tests to integration test suite (#3906)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>fenix/120.0
parent
a923244dfc
commit
814400a287
@ -0,0 +1,74 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.fenix.experimentintegration
|
||||
|
||||
import org.junit.After
|
||||
import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.mozilla.fenix.ext.settings
|
||||
import org.mozilla.fenix.helpers.HomeActivityTestRule
|
||||
import org.mozilla.fenix.helpers.TestHelper
|
||||
import org.mozilla.fenix.ui.robots.homeScreen
|
||||
|
||||
class GenericExperimentIntegrationTest {
|
||||
private val experimentName = "Viewpoint"
|
||||
|
||||
@get:Rule
|
||||
val activityTestRule = HomeActivityTestRule(
|
||||
isJumpBackInCFREnabled = false,
|
||||
isPWAsPromptEnabled = false,
|
||||
isTCPCFREnabled = false,
|
||||
)
|
||||
|
||||
@Before
|
||||
fun setUp() {
|
||||
TestHelper.appContext.settings().showSecretDebugMenuThisSession = true
|
||||
}
|
||||
|
||||
@After
|
||||
fun tearDown() {
|
||||
TestHelper.appContext.settings().showSecretDebugMenuThisSession = false
|
||||
}
|
||||
|
||||
private fun disableStudiesViaStudiesToggle() {
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openExperimentsMenu {
|
||||
verifyExperimentEnrolled(experimentName)
|
||||
}.goBack {
|
||||
}.openSettingsSubMenuDataCollection {
|
||||
clickStudiesOption()
|
||||
verifyStudiesToggle(true)
|
||||
clickStudiesToggle()
|
||||
clickStudiesDialogOkButton()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testExperimentUnenrolled() {
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openExperimentsMenu {
|
||||
verifyExperimentExists(experimentName)
|
||||
verifyExperimentNotEnrolled(experimentName)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testExperimentUnenrolledViaSecretMenu() {
|
||||
homeScreen {
|
||||
}.openThreeDotMenu {
|
||||
}.openSettings {
|
||||
}.openExperimentsMenu {
|
||||
verifyExperimentExists(experimentName)
|
||||
verifyExperimentEnrolled(experimentName)
|
||||
unenrollfromExperiment(experimentName)
|
||||
verifyExperimentNotEnrolled(experimentName)
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
import pytest
|
||||
|
||||
@pytest.mark.parametrize("load_branches", [("branch")], indirect=True)
|
||||
def test_experiment_unenrolls_via_studies_toggle(setup_experiment, gradlewbuild, load_branches):
|
||||
setup_experiment(load_branches)
|
||||
gradlewbuild.test("GenericExperimentIntegrationTest#disableStudiesViaStudiesToggle")
|
||||
gradlewbuild.test("GenericExperimentIntegrationTest#testExperimentUnenrolls")
|
||||
|
||||
@pytest.mark.parametrize("load_branches", [("branch")], indirect=True)
|
||||
def test_experiment_unenrolls_via_secret_menu(setup_experiment, gradlewbuild, load_branches):
|
||||
setup_experiment(load_branches)
|
||||
gradlewbuild.test("GenericExperimentIntegrationTest#testExperimentUnenrollsViaSecretMenu")
|
Loading…
Reference in New Issue