pull/600/head
Roger Yang 3 years ago committed by GitHub
parent 676a1298a2
commit 9f608d6b0a

@ -223,7 +223,7 @@ internal class ReleaseMetricController(
metadata?.get("enabled")?.let { enabledAddons -> metadata?.get("enabled")?.let { enabledAddons ->
if (enabledAddons is List<*>) { if (enabledAddons is List<*>) {
settings.enabledAddonsCount = enabledAddons.size settings.enabledAddonsCount = enabledAddons.size
settings.enabledAddonsList = enabledAddons.joinToString() settings.enabledAddonsList = enabledAddons.joinToString(",")
} }
} }

@ -15,11 +15,16 @@ import mozilla.components.support.base.Component
import mozilla.components.support.base.facts.Action import mozilla.components.support.base.facts.Action
import mozilla.components.support.base.facts.Fact import mozilla.components.support.base.facts.Fact
import mozilla.components.support.base.log.logger.Logger import mozilla.components.support.base.log.logger.Logger
import mozilla.components.support.test.robolectric.testContext
import mozilla.components.support.webextensions.facts.WebExtensionFacts import mozilla.components.support.webextensions.facts.WebExtensionFacts
import org.junit.Assert.assertEquals
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith
import org.mozilla.fenix.helpers.FenixRobolectricTestRunner
import org.mozilla.fenix.utils.Settings import org.mozilla.fenix.utils.Settings
@RunWith(FenixRobolectricTestRunner::class)
class MetricControllerTest { class MetricControllerTest {
@MockK(relaxUnitFun = true) private lateinit var dataService1: MetricsService @MockK(relaxUnitFun = true) private lateinit var dataService1: MetricsService
@ -338,7 +343,7 @@ class MetricControllerTest {
@Test @Test
fun `web extension fact should set value in SharedPreference`() { fun `web extension fact should set value in SharedPreference`() {
val enabled = true val enabled = true
val settings: Settings = mockk(relaxed = true) val settings = Settings(testContext)
val controller = ReleaseMetricController( val controller = ReleaseMetricController(
services = listOf(dataService1), services = listOf(dataService1),
isDataTelemetryEnabled = { enabled }, isDataTelemetryEnabled = { enabled },
@ -350,19 +355,19 @@ class MetricControllerTest {
Action.INTERACTION, Action.INTERACTION,
WebExtensionFacts.Items.WEB_EXTENSIONS_INITIALIZED, WebExtensionFacts.Items.WEB_EXTENSIONS_INITIALIZED,
metadata = mapOf( metadata = mapOf(
"installed" to listOf("test1"), "installed" to listOf("test1", "test2", "test3", "test4"),
"enabled" to listOf("test2") "enabled" to listOf("test2", "test4")
) )
) )
verify(exactly = 0) { settings.installedAddonsCount = any() } assertEquals(settings.installedAddonsCount, 0)
verify(exactly = 0) { settings.installedAddonsList = any() } assertEquals(settings.installedAddonsList, "")
verify(exactly = 0) { settings.enabledAddonsCount = any() } assertEquals(settings.enabledAddonsCount, 0)
verify(exactly = 0) { settings.enabledAddonsList = any() } assertEquals(settings.enabledAddonsList, "")
controller.factToEvent(fact) controller.factToEvent(fact)
verify(exactly = 1) { settings.installedAddonsCount = any() } assertEquals(settings.installedAddonsCount, 4)
verify(exactly = 1) { settings.installedAddonsList = any() } assertEquals(settings.installedAddonsList, "test1,test2,test3,test4")
verify(exactly = 1) { settings.enabledAddonsCount = any() } assertEquals(settings.enabledAddonsCount, 2)
verify(exactly = 1) { settings.enabledAddonsList = any() } assertEquals(settings.enabledAddonsList, "test2,test4")
} }
} }

Loading…
Cancel
Save