Skip to content

Commit f8bbac4

Browse files
committed
Apply PR suggestion: add reminders synced count to track success analytics event on BloggingRemindersResolver
1 parent 9b21ea0 commit f8bbac4

3 files changed

Lines changed: 11 additions & 17 deletions

File tree

WordPress/src/main/java/org/wordpress/android/bloggingreminders/resolver/BloggingRemindersResolver.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class BloggingRemindersResolver @Inject constructor(
5656
if (success) onSuccess() else onFailure()
5757
} else {
5858
bloggingRemindersSyncAnalyticsTracker.trackSuccess(0)
59-
onFailure()
59+
onSuccess()
6060
}
6161
} else {
6262
bloggingRemindersSyncAnalyticsTracker.trackFailed(ErrorType.QueryBloggingRemindersError)
@@ -77,6 +77,7 @@ class BloggingRemindersResolver @Inject constructor(
7777
private fun syncBloggingReminders(siteIdBloggingReminderMap: SiteIDBloggingReminderMap): Boolean {
7878
try {
7979
coroutineScope.launch {
80+
var remindersSyncedCount = 0
8081
for ((siteId, bloggingReminder) in siteIdBloggingReminderMap) {
8182
if (siteId == null || bloggingReminder == null) {
8283
continue
@@ -85,7 +86,7 @@ class BloggingRemindersResolver @Inject constructor(
8586
val isBloggingReminderAlreadySet = bloggingRemindersStore.bloggingRemindersModel(siteLocalId)
8687
.first().enabledDays.isNotEmpty()
8788
if (siteLocalId != 0 && !isBloggingReminderAlreadySet) {
88-
remindersSyncedCount = ++remindersSyncedCount
89+
remindersSyncedCount = remindersSyncedCount.inc()
8990
bloggingRemindersStore.updateBloggingReminders(bloggingReminder.copy(siteId = siteLocalId))
9091
}
9192
}

WordPress/src/test/java/org/wordpress/android/bloggingreminders/BloggingRemindersSyncAnalyticsTrackerTest.kt

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,10 @@ class BloggingRemindersSyncAnalyticsTrackerTest {
1919

2020
@Test
2121
fun `Should track get blogging reminders success correctly`() {
22-
classToTest.trackSuccess()
23-
verify(analyticsTrackerWrapper).track(Stat.BLOGGING_REMINDERS_SYNC_SUCCESS)
24-
}
25-
26-
@Test
27-
fun `Should track failed with NoBloggingRemindersFoundError correctly`() {
28-
classToTest.trackFailed(ErrorType.NoBloggingRemindersFoundError)
22+
val remindersSyncedCount = 3
23+
classToTest.trackSuccess(remindersSyncedCount)
2924
verify(analyticsTrackerWrapper).track(
30-
Stat.BLOGGING_REMINDERS_SYNC_FAILED,
31-
mapOf("error_type" to "no_blogging_reminders_found_error")
25+
Stat.BLOGGING_REMINDERS_SYNC_SUCCESS, mapOf(REMINDERS_SYNCED_COUNT to remindersSyncedCount)
3226
)
3327
}
3428

WordPress/src/test/java/org/wordpress/android/bloggingreminders/resolver/BloggingRemindersResolverTest.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import org.junit.Rule
1616
import org.junit.Test
1717
import org.wordpress.android.MainCoroutineScopeRule
1818
import org.wordpress.android.bloggingreminders.BloggingRemindersSyncAnalyticsTracker
19-
import org.wordpress.android.bloggingreminders.BloggingRemindersSyncAnalyticsTracker.ErrorType.NoBloggingRemindersFoundError
2019
import org.wordpress.android.bloggingreminders.BloggingRemindersSyncAnalyticsTracker.ErrorType.QueryBloggingRemindersError
2120
import org.wordpress.android.bloggingreminders.JetpackBloggingRemindersSyncFlag
2221
import org.wordpress.android.bloggingreminders.provider.BloggingRemindersProvider
@@ -149,10 +148,10 @@ class BloggingRemindersResolverTest {
149148
}
150149

151150
@Test
152-
fun `Should track failed with error NoBloggingRemindersFoundError if result map is empty`() {
151+
fun `Should track success with reminders synced count 0 if result map is empty`() {
153152
featureEnabled()
154153
classToTest.trySyncBloggingReminders({}, {})
155-
verify(bloggingRemindersSyncAnalyticsTracker).trackFailed(NoBloggingRemindersFoundError)
154+
verify(bloggingRemindersSyncAnalyticsTracker).trackSuccess(0)
156155
}
157156

158157
@Test
@@ -165,14 +164,14 @@ class BloggingRemindersResolverTest {
165164

166165
@Test
167166
fun `Should track success if result map has entries`() = test {
168-
whenever(bloggingRemindersStore.bloggingRemindersModel(validLocalId))
169-
.thenReturn(flowOf(userSetBloggingRemindersModel))
170167
whenever(siteStore.getLocalIdForRemoteSiteId(123L)).thenReturn(validLocalId)
168+
whenever(bloggingRemindersStore.bloggingRemindersModel(validLocalId))
169+
.thenReturn(flowOf(defaultBloggingRemindersModel))
171170
featureEnabled()
172171
whenever(mockCursor.getString(0)).thenReturn("{\"123\":{\"enabledDays\":[\"MONDAY\"],\"hour\":5" +
173172
",\"isPromptIncluded\":false,\"minute\":43,\"siteId\":123}}")
174173
classToTest.trySyncBloggingReminders({}, {})
175-
verify(bloggingRemindersSyncAnalyticsTracker).trackSuccess()
174+
verify(bloggingRemindersSyncAnalyticsTracker).trackSuccess(1)
176175
}
177176

178177
@Test

0 commit comments

Comments
 (0)