diff --git a/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt b/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt index f10182b46..4ebe8c8dc 100644 --- a/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt +++ b/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt @@ -223,7 +223,7 @@ internal class ReleaseMetricController( metadata?.get("enabled")?.let { enabledAddons -> if (enabledAddons is List<*>) { settings.enabledAddonsCount = enabledAddons.size - settings.enabledAddonsList = enabledAddons.joinToString() + settings.enabledAddonsList = enabledAddons.joinToString(",") } } diff --git a/app/src/test/java/org/mozilla/fenix/components/metrics/MetricControllerTest.kt b/app/src/test/java/org/mozilla/fenix/components/metrics/MetricControllerTest.kt index 2a824564f..25bf2274e 100644 --- a/app/src/test/java/org/mozilla/fenix/components/metrics/MetricControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/components/metrics/MetricControllerTest.kt @@ -15,11 +15,16 @@ import mozilla.components.support.base.Component import mozilla.components.support.base.facts.Action import mozilla.components.support.base.facts.Fact import mozilla.components.support.base.log.logger.Logger +import mozilla.components.support.test.robolectric.testContext import mozilla.components.support.webextensions.facts.WebExtensionFacts +import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Test +import org.junit.runner.RunWith +import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import org.mozilla.fenix.utils.Settings +@RunWith(FenixRobolectricTestRunner::class) class MetricControllerTest { @MockK(relaxUnitFun = true) private lateinit var dataService1: MetricsService @@ -338,7 +343,7 @@ class MetricControllerTest { @Test fun `web extension fact should set value in SharedPreference`() { val enabled = true - val settings: Settings = mockk(relaxed = true) + val settings = Settings(testContext) val controller = ReleaseMetricController( services = listOf(dataService1), isDataTelemetryEnabled = { enabled }, @@ -350,19 +355,19 @@ class MetricControllerTest { Action.INTERACTION, WebExtensionFacts.Items.WEB_EXTENSIONS_INITIALIZED, metadata = mapOf( - "installed" to listOf("test1"), - "enabled" to listOf("test2") + "installed" to listOf("test1", "test2", "test3", "test4"), + "enabled" to listOf("test2", "test4") ) ) - verify(exactly = 0) { settings.installedAddonsCount = any() } - verify(exactly = 0) { settings.installedAddonsList = any() } - verify(exactly = 0) { settings.enabledAddonsCount = any() } - verify(exactly = 0) { settings.enabledAddonsList = any() } + assertEquals(settings.installedAddonsCount, 0) + assertEquals(settings.installedAddonsList, "") + assertEquals(settings.enabledAddonsCount, 0) + assertEquals(settings.enabledAddonsList, "") controller.factToEvent(fact) - verify(exactly = 1) { settings.installedAddonsCount = any() } - verify(exactly = 1) { settings.installedAddonsList = any() } - verify(exactly = 1) { settings.enabledAddonsCount = any() } - verify(exactly = 1) { settings.enabledAddonsList = any() } + assertEquals(settings.installedAddonsCount, 4) + assertEquals(settings.installedAddonsList, "test1,test2,test3,test4") + assertEquals(settings.enabledAddonsCount, 2) + assertEquals(settings.enabledAddonsList, "test2,test4") } }