From b4d52ce51b58b1ddf0f4b877ebd920e796b4ef9c Mon Sep 17 00:00:00 2001 From: Alexandru2909 Date: Tue, 19 Apr 2022 09:54:38 +0300 Subject: [PATCH] [fenix] For https://github.com/mozilla-mobile/fenix/issues/24759 - Remove forEach from ContextualMenu telemetry test --- .../metrics/MetricControllerTest.kt | 81 ++++++++++++++----- 1 file changed, 63 insertions(+), 18 deletions(-) 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 5c2fc760b0..1d81a0bc81 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 @@ -409,29 +409,74 @@ class MetricControllerTest { @Test fun `WHEN processing a ContextualMenu fact THEN the right metric is recorded`() { val controller = ReleaseMetricController(emptyList(), { true }, { true }, mockk()) + val action = mockk() + // Verify copy button interaction + var fact = Fact( + Component.FEATURE_CONTEXTMENU, + action, + ContextMenuFacts.Items.TEXT_SELECTION_OPTION, + metadata = mapOf("textSelectionOption" to Companion.CONTEXT_MENU_COPY) + ) + assertFalse(ContextualMenu.copyTapped.testHasValue()) + + with(controller) { + fact.process() + } + + assertTrue(ContextualMenu.copyTapped.testHasValue()) + assertEquals(1, ContextualMenu.copyTapped.testGetValue().size) + assertNull(ContextualMenu.copyTapped.testGetValue().single().extra) - val longPressItemsToEvents = listOf( - Companion.CONTEXT_MENU_COPY to ContextualMenu.copyTapped, - Companion.CONTEXT_MENU_SEARCH to ContextualMenu.searchTapped, - Companion.CONTEXT_MENU_SELECT_ALL to ContextualMenu.selectAllTapped, - Companion.CONTEXT_MENU_SHARE to ContextualMenu.shareTapped, + // Verify search button interaction + fact = Fact( + Component.FEATURE_CONTEXTMENU, + action, + ContextMenuFacts.Items.TEXT_SELECTION_OPTION, + metadata = mapOf("textSelectionOption" to Companion.CONTEXT_MENU_SEARCH) ) + assertFalse(ContextualMenu.searchTapped.testHasValue()) - longPressItemsToEvents.forEach { (item, event) -> - val fact = Fact( - Component.FEATURE_CONTEXTMENU, - mockk(), - ContextMenuFacts.Items.TEXT_SELECTION_OPTION, - metadata = mapOf("textSelectionOption" to item) - ) - with(controller) { - fact.process() - } + with(controller) { + fact.process() + } - assertEquals(true, event.testHasValue()) - assertEquals(1, event.testGetValue().size) - assertEquals(null, event.testGetValue().single().extra) + assertTrue(ContextualMenu.searchTapped.testHasValue()) + assertEquals(1, ContextualMenu.searchTapped.testGetValue().size) + assertNull(ContextualMenu.searchTapped.testGetValue().single().extra) + + // Verify select all button interaction + fact = Fact( + Component.FEATURE_CONTEXTMENU, + action, + ContextMenuFacts.Items.TEXT_SELECTION_OPTION, + metadata = mapOf("textSelectionOption" to Companion.CONTEXT_MENU_SELECT_ALL) + ) + assertFalse(ContextualMenu.selectAllTapped.testHasValue()) + + with(controller) { + fact.process() } + + assertTrue(ContextualMenu.selectAllTapped.testHasValue()) + assertEquals(1, ContextualMenu.selectAllTapped.testGetValue().size) + assertNull(ContextualMenu.selectAllTapped.testGetValue().single().extra) + + // Verify share button interaction + fact = Fact( + Component.FEATURE_CONTEXTMENU, + action, + ContextMenuFacts.Items.TEXT_SELECTION_OPTION, + metadata = mapOf("textSelectionOption" to Companion.CONTEXT_MENU_SHARE) + ) + assertFalse(ContextualMenu.shareTapped.testHasValue()) + + with(controller) { + fact.process() + } + + assertTrue(ContextualMenu.shareTapped.testHasValue()) + assertEquals(1, ContextualMenu.shareTapped.testGetValue().size) + assertNull(ContextualMenu.shareTapped.testGetValue().single().extra) } @Test