@@ -23,7 +23,7 @@ import im.vector.app.test.fakes.FakeAnalyticsStore
23
23
import im.vector.app.test.fakes.FakeLateInitUserPropertiesFactory
24
24
import im.vector.app.test.fakes.FakePostHog
25
25
import im.vector.app.test.fakes.FakePostHogFactory
26
- import im.vector.app.test.fakes.FakeSentryFactory
26
+ import im.vector.app.test.fakes.FakeSentryAnalytics
27
27
import im.vector.app.test.fixtures.AnalyticsConfigFixture.anAnalyticsConfig
28
28
import im.vector.app.test.fixtures.aUserProperties
29
29
import im.vector.app.test.fixtures.aVectorAnalyticsEvent
@@ -46,11 +46,11 @@ class DefaultVectorAnalyticsTest {
46
46
private val fakePostHog = FakePostHog ()
47
47
private val fakeAnalyticsStore = FakeAnalyticsStore ()
48
48
private val fakeLateInitUserPropertiesFactory = FakeLateInitUserPropertiesFactory ()
49
- private val fakeSentryFactory = FakeSentryFactory ()
49
+ private val fakeSentryAnalytics = FakeSentryAnalytics ()
50
50
51
51
private val defaultVectorAnalytics = DefaultVectorAnalytics (
52
52
postHogFactory = FakePostHogFactory (fakePostHog.instance).instance,
53
- sentryFactory = fakeSentryFactory .instance,
53
+ sentryAnalytics = fakeSentryAnalytics .instance,
54
54
analyticsStore = fakeAnalyticsStore.instance,
55
55
globalScope = CoroutineScope (Dispatchers .Unconfined ),
56
56
analyticsConfig = anAnalyticsConfig(isEnabled = true ),
@@ -75,7 +75,7 @@ class DefaultVectorAnalyticsTest {
75
75
76
76
fakePostHog.verifyOptOutStatus(optedOut = false )
77
77
78
- fakeSentryFactory .verifySentryInit()
78
+ fakeSentryAnalytics .verifySentryInit()
79
79
}
80
80
81
81
@Test
@@ -84,7 +84,7 @@ class DefaultVectorAnalyticsTest {
84
84
85
85
fakePostHog.verifyOptOutStatus(optedOut = true )
86
86
87
- fakeSentryFactory .verifySentryClose()
87
+ fakeSentryAnalytics .verifySentryClose()
88
88
}
89
89
90
90
@Test
@@ -111,7 +111,7 @@ class DefaultVectorAnalyticsTest {
111
111
112
112
fakePostHog.verifyReset()
113
113
114
- fakeSentryFactory .verifySentryClose()
114
+ fakeSentryAnalytics .verifySentryClose()
115
115
}
116
116
117
117
@Test
@@ -149,6 +149,25 @@ class DefaultVectorAnalyticsTest {
149
149
150
150
fakePostHog.verifyNoEventTracking()
151
151
}
152
+
153
+ @Test
154
+ fun `given user has consented, when tracking exception, then submits to sentry` () = runTest {
155
+ fakeAnalyticsStore.givenUserContent(consent = true )
156
+ val exception = Exception (" test" )
157
+
158
+ defaultVectorAnalytics.trackError(exception)
159
+
160
+ fakeSentryAnalytics.verifySentryTrackError(exception)
161
+ }
162
+
163
+ @Test
164
+ fun `given user has not consented, when tracking exception, then does not track to sentry` () = runTest {
165
+ fakeAnalyticsStore.givenUserContent(consent = false )
166
+
167
+ defaultVectorAnalytics.trackError(Exception (" test" ))
168
+
169
+ fakeSentryAnalytics.verifyNoErrorTracking()
170
+ }
152
171
}
153
172
154
173
private fun VectorAnalyticsScreen.toPostHogProperties (): Properties ? {
0 commit comments