[fenix] For https://github.com/mozilla-mobile/fenix/issues/24208 - Remove forEach from LoginDialogFacts test

pull/600/head
Alexandru2909 2 years ago committed by mergify[bot]
parent 7e939ba135
commit 683844bde8

@ -30,6 +30,7 @@ import mozilla.components.support.webextensions.facts.WebExtensionFacts
import mozilla.telemetry.glean.testing.GleanTestRule import mozilla.telemetry.glean.testing.GleanTestRule
import org.junit.Assert.assertEquals import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse import org.junit.Assert.assertFalse
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue import org.junit.Assert.assertTrue
import org.junit.Before import org.junit.Before
import org.junit.Rule import org.junit.Rule
@ -231,24 +232,55 @@ class MetricControllerTest {
@Test @Test
fun `WHEN processing a fact with FEATURE_PROMPTS component THEN the right metric is recorded with no extras`() { fun `WHEN processing a fact with FEATURE_PROMPTS component THEN the right metric is recorded with no extras`() {
val controller = ReleaseMetricController(emptyList(), { true }, { true }, mockk()) val controller = ReleaseMetricController(emptyList(), { true }, { true }, mockk())
val action = mockk<Action>(relaxed = true) val action = mockk<Action>()
val itemsToEvents = listOf(
LoginDialogFacts.Items.DISPLAY to LoginDialog.displayed,
LoginDialogFacts.Items.CANCEL to LoginDialog.cancelled,
LoginDialogFacts.Items.NEVER_SAVE to LoginDialog.neverSave,
LoginDialogFacts.Items.SAVE to LoginDialog.saved,
)
itemsToEvents.forEach { (item, event) -> // Verify display interaction
val fact = Fact(Component.FEATURE_PROMPTS, action, item) assertFalse(LoginDialog.displayed.testHasValue())
controller.run { var fact = Fact(Component.FEATURE_PROMPTS, action, LoginDialogFacts.Items.DISPLAY)
fact.process()
}
assertEquals(true, event.testHasValue()) controller.run {
assertEquals(1, event.testGetValue().size) fact.process()
assertEquals(null, event.testGetValue().single().extra) }
assertTrue(LoginDialog.displayed.testHasValue())
assertEquals(1, LoginDialog.displayed.testGetValue().size)
assertNull(LoginDialog.displayed.testGetValue().single().extra)
// Verify cancel interaction
assertFalse(LoginDialog.cancelled.testHasValue())
fact = Fact(Component.FEATURE_PROMPTS, action, LoginDialogFacts.Items.CANCEL)
controller.run {
fact.process()
}
assertTrue(LoginDialog.cancelled.testHasValue())
assertEquals(1, LoginDialog.cancelled.testGetValue().size)
assertNull(LoginDialog.cancelled.testGetValue().single().extra)
// Verify never save interaction
assertFalse(LoginDialog.neverSave.testHasValue())
fact = Fact(Component.FEATURE_PROMPTS, action, LoginDialogFacts.Items.NEVER_SAVE)
controller.run {
fact.process()
}
assertTrue(LoginDialog.neverSave.testHasValue())
assertEquals(1, LoginDialog.neverSave.testGetValue().size)
assertNull(LoginDialog.neverSave.testGetValue().single().extra)
// Verify save interaction
assertFalse(LoginDialog.saved.testHasValue())
fact = Fact(Component.FEATURE_PROMPTS, action, LoginDialogFacts.Items.SAVE)
controller.run {
fact.process()
} }
assertTrue(LoginDialog.saved.testHasValue())
assertEquals(1, LoginDialog.saved.testGetValue().size)
assertNull(LoginDialog.saved.testGetValue().single().extra)
} }
@Test @Test

Loading…
Cancel
Save