Skip to content

Commit 7d9dfd2

Browse files
committed
Apply PR suggestions
1 parent ba092d2 commit 7d9dfd2

File tree

3 files changed

+21
-10
lines changed

3 files changed

+21
-10
lines changed

WordPress/src/main/java/org/wordpress/android/sharedlogin/SharedLoginAnalyticsTracker.kt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.wordpress.android.sharedlogin
22

33
import org.wordpress.android.analytics.AnalyticsTracker.Stat
4+
import org.wordpress.android.sharedlogin.SharedLoginAnalyticsTracker.ErrorType.Companion.ERROR_TYPE
45
import org.wordpress.android.util.analytics.AnalyticsTrackerWrapper
56
import javax.inject.Inject
67

@@ -11,5 +12,16 @@ class SharedLoginAnalyticsTracker @Inject constructor(
1112

1213
fun trackLoginSuccess() = analyticsTracker.track(Stat.SHARED_LOGIN_SUCCESS, emptyMap())
1314

14-
fun trackLoginFailed() = analyticsTracker.track(Stat.SHARED_LOGIN_FAILED, emptyMap())
15+
fun trackLoginFailed(errorType: ErrorType) =
16+
analyticsTracker.track(Stat.SHARED_LOGIN_FAILED, mapOf(ERROR_TYPE to errorType))
17+
18+
sealed class ErrorType(val value: String) {
19+
object WPNotLoggedInError : ErrorType("wp_not_logged_in_error")
20+
21+
object QueryTokenError : ErrorType("query_token_error")
22+
23+
companion object {
24+
const val ERROR_TYPE = "error_type"
25+
}
26+
}
1527
}

WordPress/src/main/java/org/wordpress/android/sharedlogin/resolver/SharedLoginResolver.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import org.wordpress.android.provider.query.QueryResult
88
import org.wordpress.android.resolver.ContentResolverWrapper
99
import org.wordpress.android.sharedlogin.JetpackSharedLoginFlag
1010
import org.wordpress.android.sharedlogin.SharedLoginAnalyticsTracker
11+
import org.wordpress.android.sharedlogin.SharedLoginAnalyticsTracker.ErrorType
1112
import org.wordpress.android.sharedlogin.data.WordPressPublicData
1213
import org.wordpress.android.sharedlogin.provider.SharedLoginProvider
1314
import org.wordpress.android.ui.main.WPMainActivity
@@ -45,10 +46,10 @@ class SharedLoginResolver @Inject constructor(
4546
dispatchUpdateAccessToken(accessToken)
4647
reloadMainScreen()
4748
} else {
48-
trackLoginFailed()
49+
sharedLoginAnalyticsTracker.trackLoginFailed(ErrorType.WPNotLoggedInError)
4950
}
5051
} else {
51-
trackLoginFailed()
52+
sharedLoginAnalyticsTracker.trackLoginFailed(ErrorType.QueryTokenError)
5253
}
5354
}
5455

@@ -74,8 +75,4 @@ class SharedLoginResolver @Inject constructor(
7475
startActivity(mainActivityIntent)
7576
}
7677
}
77-
78-
private fun trackLoginFailed() {
79-
sharedLoginAnalyticsTracker.trackLoginFailed()
80-
}
8178
}

WordPress/src/test/java/org/wordpress/android/sharedlogin/resolver/SharedLoginResolverTest.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package org.wordpress.android.sharedlogin.resolver
33
import android.content.ContentResolver
44
import android.content.Context
55
import android.database.MatrixCursor
6+
import com.nhaarman.mockitokotlin2.any
67
import com.nhaarman.mockitokotlin2.mock
78
import com.nhaarman.mockitokotlin2.never
89
import com.nhaarman.mockitokotlin2.times
@@ -18,6 +19,7 @@ import org.wordpress.android.provider.query.QueryResult
1819
import org.wordpress.android.resolver.ContentResolverWrapper
1920
import org.wordpress.android.sharedlogin.JetpackSharedLoginFlag
2021
import org.wordpress.android.sharedlogin.SharedLoginAnalyticsTracker
22+
import org.wordpress.android.sharedlogin.SharedLoginAnalyticsTracker.ErrorType
2123
import org.wordpress.android.sharedlogin.data.WordPressPublicData
2224
import org.wordpress.android.sharedlogin.provider.SharedLoginProvider
2325
import org.wordpress.android.ui.prefs.AppPrefsWrapper
@@ -156,7 +158,7 @@ class SharedLoginResolverTest {
156158
featureEnabled()
157159
classToTest.tryJetpackLogin()
158160
verify(sharedLoginAnalyticsTracker, never()).trackLoginSuccess()
159-
verify(sharedLoginAnalyticsTracker, times(1)).trackLoginFailed()
161+
verify(sharedLoginAnalyticsTracker, times(1)).trackLoginFailed(ErrorType.QueryTokenError)
160162
}
161163

162164
@Test
@@ -165,15 +167,15 @@ class SharedLoginResolverTest {
165167
whenever(queryResult.getValue<String>(mockCursor)).thenReturn(notLoggedInToken)
166168
classToTest.tryJetpackLogin()
167169
verify(sharedLoginAnalyticsTracker, never()).trackLoginSuccess()
168-
verify(sharedLoginAnalyticsTracker, times(1)).trackLoginFailed()
170+
verify(sharedLoginAnalyticsTracker, times(1)).trackLoginFailed(ErrorType.WPNotLoggedInError)
169171
}
170172

171173
@Test
172174
fun `Should track login success if access token result cursor IS NOT null AND access token IS NOT empty`() {
173175
featureEnabled()
174176
whenever(queryResult.getValue<String>(mockCursor)).thenReturn(loggedInToken)
175177
classToTest.tryJetpackLogin()
176-
verify(sharedLoginAnalyticsTracker, never()).trackLoginFailed()
178+
verify(sharedLoginAnalyticsTracker, never()).trackLoginFailed(any())
177179
verify(sharedLoginAnalyticsTracker, times(1)).trackLoginSuccess()
178180
}
179181

0 commit comments

Comments
 (0)