add Experimentation helper

fork
Charlie Humphreys 2 years ago committed by mergify[bot]
parent f709036636
commit d8e724218f

@ -0,0 +1,16 @@
package org.mozilla.fenix.helpers
import org.mozilla.experiments.nimbus.GleanPlumbMessageHelper
import org.mozilla.fenix.ext.components
import org.mozilla.fenix.helpers.TestHelper.appContext
object Experimentation {
private val nimbus =
appContext.components.analytics.experiments
fun withHelper(block: GleanPlumbMessageHelper.() -> Unit) {
val helper = nimbus.createMessageHelper()
block(helper)
}
}

@ -5,9 +5,7 @@ import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.UiDevice import androidx.test.uiautomator.UiDevice
import okhttp3.mockwebserver.MockWebServer import okhttp3.mockwebserver.MockWebServer
import org.junit.* import org.junit.*
import org.mozilla.fenix.helpers.AndroidAssetDispatcher import org.mozilla.fenix.helpers.*
import org.mozilla.fenix.helpers.HomeActivityIntentTestRule
import org.mozilla.fenix.helpers.RetryTestRule
import org.mozilla.fenix.ui.robots.homeScreen import org.mozilla.fenix.ui.robots.homeScreen
class NimbusEventTest { class NimbusEventTest {
@ -43,9 +41,8 @@ class NimbusEventTest {
fun homeScreenNimbusEventsTest() { fun homeScreenNimbusEventsTest() {
homeScreen { }.dismissOnboarding() homeScreen { }.dismissOnboarding()
homeScreen { Experimentation.withHelper {
verifyHomeScreen() Assert.assertTrue(evalJexl("'app_opened'|eventSum('Days', 28, 0) > 0"))
Assert.assertTrue(evaluateAgainstNimbusTargetingHelper("'app_opened'|eventSum('Days', 28, 0) > 0"))
} }
} }
} }

@ -90,7 +90,6 @@ class HomeScreenRobot {
fun verifyDefaultSearchEngine(searchEngine: String) = verifySearchEngineIcon(searchEngine) fun verifyDefaultSearchEngine(searchEngine: String) = verifySearchEngineIcon(searchEngine)
fun verifyNoTabsOpened() = assertNoTabsOpened() fun verifyNoTabsOpened() = assertNoTabsOpened()
fun verifyKeyboardVisible() = assertKeyboardVisibility(isExpectedToBeVisible = true) fun verifyKeyboardVisible() = assertKeyboardVisibility(isExpectedToBeVisible = true)
fun evaluateAgainstNimbusTargetingHelper(jexl: String): Boolean = evaluateAgainstNimbus(jexl)
fun verifyWallpaperImageApplied(isEnabled: Boolean) { fun verifyWallpaperImageApplied(isEnabled: Boolean) {
if (isEnabled) { if (isEnabled) {
@ -807,14 +806,6 @@ private fun verifySearchEngineIcon(searchEngineName: String) {
verifySearchEngineIcon(defaultSearchEngine.icon, defaultSearchEngine.name) verifySearchEngineIcon(defaultSearchEngine.icon, defaultSearchEngine.name)
} }
private fun getNimbus() =
appContext.components.analytics.experiments
private fun evaluateAgainstNimbus(jexl: String): Boolean {
val helper = getNimbus().createMessageHelper()
return helper.evalJexl(jexl)
}
// First Run elements // First Run elements
private fun assertWelcomeHeader() = private fun assertWelcomeHeader() =
assertTrue( assertTrue(

Loading…
Cancel
Save