From ed422a547c31dffc448e75b2f52c0b5508c283ac Mon Sep 17 00:00:00 2001 From: DreVla Date: Fri, 3 Nov 2023 14:31:17 +0200 Subject: [PATCH] Bug 1862775 - Send telemetry on "Powered by Fakespot by Mozilla" tap Added `surface_powered_by_fakespot_link_clicked` telemetry probe that is sent when the user taps the "Powered by Fakespot by Mozilla" footer link in Review Checker Sheet. (cherry picked from commit 07c669052ac15cf7aa968f9a23584fac0ec3538d) --- app/metrics.yaml | 19 +++++++++++++++++++ .../ReviewQualityCheckTelemetryMiddleware.kt | 4 ++++ .../store/ReviewQualityCheckAction.kt | 2 +- ...viewQualityCheckTelemetryMiddlewareTest.kt | 8 ++++++++ 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/app/metrics.yaml b/app/metrics.yaml index ab7cdaae7..5dafd0685 100644 --- a/app/metrics.yaml +++ b/app/metrics.yaml @@ -10793,6 +10793,25 @@ shopping: metadata: tags: - Shopping + surface_powered_by_fakespot_link_clicked: + type: event + description: | + The user clicked the "Fakespot by Mozilla" link at the bottom of review checker + sheet. + send_in_pings: + - events + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1862775 + data_reviews: + - https://github.com/mozilla-mobile/firefox-android/pull/4354#issuecomment-1794341141 + data_sensitivity: + - interaction + notification_emails: + - android-probes@mozilla.com + expires: never + metadata: + tags: + - Shopping shopping.settings: component_opted_out: diff --git a/app/src/main/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckTelemetryMiddleware.kt b/app/src/main/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckTelemetryMiddleware.kt index 3317b82db..c77a31a75 100644 --- a/app/src/main/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckTelemetryMiddleware.kt +++ b/app/src/main/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckTelemetryMiddleware.kt @@ -101,5 +101,9 @@ class ReviewQualityCheckTelemetryMiddleware : ReviewQualityCheckMiddleware { is ReviewQualityCheckAction.OptOutCompleted -> { Shopping.surfaceOnboardingDisplayed.record() } + + is ReviewQualityCheckAction.OpenPoweredByLink -> { + Shopping.surfacePoweredByFakespotLinkClicked.record() + } } } diff --git a/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckAction.kt b/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckAction.kt index 4efaceaca..c4c989813 100644 --- a/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckAction.kt +++ b/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckAction.kt @@ -111,7 +111,7 @@ sealed interface ReviewQualityCheckAction : Action { /** * Triggered when the user clicks on the "Powered by" link in the footer. */ - object OpenPoweredByLink : NavigationMiddlewareAction + object OpenPoweredByLink : NavigationMiddlewareAction, TelemetryAction /** * Triggered when the user clicks on learn more link on the opt in card. diff --git a/app/src/test/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckTelemetryMiddlewareTest.kt b/app/src/test/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckTelemetryMiddlewareTest.kt index 0c7c40a84..b79bdcf4c 100644 --- a/app/src/test/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckTelemetryMiddlewareTest.kt +++ b/app/src/test/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckTelemetryMiddlewareTest.kt @@ -164,4 +164,12 @@ class ReviewQualityCheckTelemetryMiddlewareTest { assertNotNull(Shopping.surfaceOnboardingDisplayed.testGetValue()) } + + @Test + fun `WHEN the user is tapped the 'Powered by Fakespot by Mozilla' link THEN the link clicked telemetry is recorded`() { + store.dispatch(ReviewQualityCheckAction.OpenPoweredByLink).joinBlocking() + store.waitUntilIdle() + + assertNotNull(Shopping.surfacePoweredByFakespotLinkClicked.testGetValue()) + } }