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