5
5
import 'package:flutter_test/flutter_test.dart' ;
6
6
import 'package:mockito/mockito.dart' ;
7
7
import 'package:sentry_flutter/sentry_flutter.dart' ;
8
+ import 'package:sentry_flutter/src/method_channel_helper.dart' ;
8
9
import 'package:sentry_flutter/src/sentry_native.dart' ;
9
10
import 'package:sentry_flutter/src/sentry_native_channel.dart' ;
10
11
import 'mocks.mocks.dart' ;
@@ -64,26 +65,40 @@ void main() {
64
65
});
65
66
66
67
test ('setUser' , () async {
67
- when (fixture.methodChannel.invokeMethod ('setUser' , {'user' : null }))
68
+ final user = SentryUser (
69
+ id: "fixture-id" ,
70
+ data: {'object' : Object ()},
71
+ );
72
+ final normalizedUser = user.copyWith (
73
+ data: MethodChannelHelper .normalizeMap (user.data),
74
+ );
75
+ when (fixture.methodChannel
76
+ .invokeMethod ('setUser' , {'user' : normalizedUser.toJson ()}))
68
77
.thenAnswer ((_) => Future .value ());
69
78
70
79
final sut = fixture.getSut ();
71
- await sut.setUser (null );
80
+ await sut.setUser (user );
72
81
73
- verify (fixture.methodChannel.invokeMethod ('setUser' , {'user' : null }));
82
+ verify (fixture.methodChannel
83
+ .invokeMethod ('setUser' , {'user' : normalizedUser.toJson ()}));
74
84
});
75
85
76
86
test ('addBreadcrumb' , () async {
77
- final breadcrumb = Breadcrumb ();
87
+ final breadcrumb = Breadcrumb (
88
+ data: {'object' : Object ()},
89
+ );
90
+ final normalizedBreadcrumb = breadcrumb.copyWith (
91
+ data: MethodChannelHelper .normalizeMap (breadcrumb.data));
92
+
78
93
when (fixture.methodChannel.invokeMethod (
79
- 'addBreadcrumb' , {'breadcrumb' : breadcrumb .toJson ()}))
94
+ 'addBreadcrumb' , {'breadcrumb' : normalizedBreadcrumb .toJson ()}))
80
95
.thenAnswer ((_) => Future .value ());
81
96
82
97
final sut = fixture.getSut ();
83
98
await sut.addBreadcrumb (breadcrumb);
84
99
85
- verify (fixture.methodChannel
86
- . invokeMethod ( 'addBreadcrumb' , {'breadcrumb' : breadcrumb .toJson ()}));
100
+ verify (fixture.methodChannel. invokeMethod (
101
+ 'addBreadcrumb' , {'breadcrumb' : normalizedBreadcrumb .toJson ()}));
87
102
});
88
103
89
104
test ('clearBreadcrumbs' , () async {
@@ -97,15 +112,17 @@ void main() {
97
112
});
98
113
99
114
test ('setContexts' , () async {
115
+ final value = {'object' : Object ()};
116
+ final normalizedValue = MethodChannelHelper .normalize (value);
100
117
when (fixture.methodChannel.invokeMethod (
101
- 'setContexts' , {'key' : 'fixture-key' , 'value' : 'fixture-value' }))
118
+ 'setContexts' , {'key' : 'fixture-key' , 'value' : normalizedValue }))
102
119
.thenAnswer ((_) => Future .value ());
103
120
104
121
final sut = fixture.getSut ();
105
- await sut.setContexts ('fixture-key' , 'fixture- value' );
122
+ await sut.setContexts ('fixture-key' , value);
106
123
107
124
verify (fixture.methodChannel.invokeMethod (
108
- 'setContexts' , {'key' : 'fixture-key' , 'value' : 'fixture-value' }));
125
+ 'setContexts' , {'key' : 'fixture-key' , 'value' : normalizedValue }));
109
126
});
110
127
111
128
test ('removeContexts' , () async {
@@ -121,15 +138,17 @@ void main() {
121
138
});
122
139
123
140
test ('setExtra' , () async {
141
+ final value = {'object' : Object ()};
142
+ final normalizedValue = MethodChannelHelper .normalize (value);
124
143
when (fixture.methodChannel.invokeMethod (
125
- 'setExtra' , {'key' : 'fixture-key' , 'value' : 'fixture-value' }))
144
+ 'setExtra' , {'key' : 'fixture-key' , 'value' : normalizedValue }))
126
145
.thenAnswer ((_) => Future .value ());
127
146
128
147
final sut = fixture.getSut ();
129
- await sut.setExtra ('fixture-key' , 'fixture- value' );
148
+ await sut.setExtra ('fixture-key' , value);
130
149
131
150
verify (fixture.methodChannel.invokeMethod (
132
- 'setExtra' , {'key' : 'fixture-key' , 'value' : 'fixture-value' }));
151
+ 'setExtra' , {'key' : 'fixture-key' , 'value' : normalizedValue }));
133
152
});
134
153
135
154
test ('removeExtra' , () async {
0 commit comments