Skip to content

Commit 3652919

Browse files
committed
7853 Track Displayed Just In Time Message event
1 parent 6060bee commit 3652919

File tree

4 files changed

+26
-1
lines changed

4 files changed

+26
-1
lines changed

WooCommerce/Classes/Analytics/WooAnalyticsEvent.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -649,6 +649,17 @@ extension WooAnalyticsEvent {
649649
error: error)
650650
}
651651

652+
static func messageDisplayed(source: String,
653+
messageID: String,
654+
featureClass: String) -> WooAnalyticsEvent {
655+
WooAnalyticsEvent(statName: .justInTimeMessageDisplayed,
656+
properties: [
657+
Keys.source: source,
658+
Keys.justInTimeMessageID: messageID,
659+
Keys.justInTimeMessageGroup: featureClass
660+
])
661+
}
662+
652663
static func callToActionTapped(source: String,
653664
messageID: String,
654665
featureClass: String) -> WooAnalyticsEvent {

WooCommerce/Classes/Analytics/WooAnalyticsStat.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -634,6 +634,7 @@ public enum WooAnalyticsStat: String {
634634
case justInTimeMessageDismissFailure = "jitm_dismiss_failure"
635635
case justInTimeMessageFetchSuccess = "jitm_fetch_success"
636636
case justInTimeMessageFetchFailure = "jitm_fetch_failure"
637+
case justInTimeMessageDisplayed = "jitm_displayed"
637638

638639
// MARK: Simple Payments events
639640
//

WooCommerce/Classes/ViewModels/Feature Announcement Cards/JustInTimeMessageAnnouncementCardViewModel.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ final class JustInTimeMessageAnnouncementCardViewModel: AnnouncementCardViewMode
7171

7272
// MARK: - AnnouncementCardViewModelProtocol methods
7373
func onAppear() {
74-
// No-op
74+
analytics.track(event: .JustInTimeMessage.messageDisplayed(source: screenName,
75+
messageID: messageID,
76+
featureClass: featureClass))
7577
}
7678

7779
func ctaTapped() {

WooCommerce/WooCommerceTests/ViewModels/Feature Announcement Cards/JustInTimeMessageAnnouncementCardViewModelTests.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,17 @@ final class JustInTimeMessageAnnouncementCardViewModelTests: XCTestCase {
159159
assertAnalyticEventLogged(name: "jitm_dismiss_failure", message: message, error: expectedError)
160160
}
161161

162+
func test_onAppear_tracks_just_in_time_message_displayed_analytic_event() {
163+
let message = Yosemite.JustInTimeMessage.fake().copy(messageID: "test-message-id", featureClass: "test-feature-class")
164+
setUp(with: message)
165+
166+
// When
167+
sut.onAppear()
168+
169+
// Then
170+
assertAnalyticEventLogged(name: "jitm_displayed", message: message)
171+
}
172+
162173
private func assertAnalyticEventLogged(name: String, message: Yosemite.JustInTimeMessage) {
163174
let expectedProperties = ["jitm_id": message.messageID,
164175
"jitm_group": message.featureClass,

0 commit comments

Comments
 (0)