55import 'package:flutter_test/flutter_test.dart' ;
66import 'package:mockito/mockito.dart' ;
77import 'package:sentry_flutter/sentry_flutter.dart' ;
8+ import 'package:sentry_flutter/src/method_channel_helper.dart' ;
89import 'package:sentry_flutter/src/sentry_native.dart' ;
910import 'package:sentry_flutter/src/sentry_native_channel.dart' ;
1011import 'mocks.mocks.dart' ;
@@ -64,26 +65,40 @@ void main() {
6465 });
6566
6667 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 ()}))
6877 .thenAnswer ((_) => Future .value ());
6978
7079 final sut = fixture.getSut ();
71- await sut.setUser (null );
80+ await sut.setUser (user );
7281
73- verify (fixture.methodChannel.invokeMethod ('setUser' , {'user' : null }));
82+ verify (fixture.methodChannel
83+ .invokeMethod ('setUser' , {'user' : normalizedUser.toJson ()}));
7484 });
7585
7686 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+
7893 when (fixture.methodChannel.invokeMethod (
79- 'addBreadcrumb' , {'breadcrumb' : breadcrumb .toJson ()}))
94+ 'addBreadcrumb' , {'breadcrumb' : normalizedBreadcrumb .toJson ()}))
8095 .thenAnswer ((_) => Future .value ());
8196
8297 final sut = fixture.getSut ();
8398 await sut.addBreadcrumb (breadcrumb);
8499
85- verify (fixture.methodChannel
86- . invokeMethod ( 'addBreadcrumb' , {'breadcrumb' : breadcrumb .toJson ()}));
100+ verify (fixture.methodChannel. invokeMethod (
101+ 'addBreadcrumb' , {'breadcrumb' : normalizedBreadcrumb .toJson ()}));
87102 });
88103
89104 test ('clearBreadcrumbs' , () async {
@@ -97,15 +112,17 @@ void main() {
97112 });
98113
99114 test ('setContexts' , () async {
115+ final value = {'object' : Object ()};
116+ final normalizedValue = MethodChannelHelper .normalize (value);
100117 when (fixture.methodChannel.invokeMethod (
101- 'setContexts' , {'key' : 'fixture-key' , 'value' : 'fixture-value' }))
118+ 'setContexts' , {'key' : 'fixture-key' , 'value' : normalizedValue }))
102119 .thenAnswer ((_) => Future .value ());
103120
104121 final sut = fixture.getSut ();
105- await sut.setContexts ('fixture-key' , 'fixture- value' );
122+ await sut.setContexts ('fixture-key' , value);
106123
107124 verify (fixture.methodChannel.invokeMethod (
108- 'setContexts' , {'key' : 'fixture-key' , 'value' : 'fixture-value' }));
125+ 'setContexts' , {'key' : 'fixture-key' , 'value' : normalizedValue }));
109126 });
110127
111128 test ('removeContexts' , () async {
@@ -121,15 +138,17 @@ void main() {
121138 });
122139
123140 test ('setExtra' , () async {
141+ final value = {'object' : Object ()};
142+ final normalizedValue = MethodChannelHelper .normalize (value);
124143 when (fixture.methodChannel.invokeMethod (
125- 'setExtra' , {'key' : 'fixture-key' , 'value' : 'fixture-value' }))
144+ 'setExtra' , {'key' : 'fixture-key' , 'value' : normalizedValue }))
126145 .thenAnswer ((_) => Future .value ());
127146
128147 final sut = fixture.getSut ();
129- await sut.setExtra ('fixture-key' , 'fixture- value' );
148+ await sut.setExtra ('fixture-key' , value);
130149
131150 verify (fixture.methodChannel.invokeMethod (
132- 'setExtra' , {'key' : 'fixture-key' , 'value' : 'fixture-value' }));
151+ 'setExtra' , {'key' : 'fixture-key' , 'value' : normalizedValue }));
133152 });
134153
135154 test ('removeExtra' , () async {
0 commit comments