11import 'package:flutter_test/flutter_test.dart' ;
22import 'package:onesignal_flutter/src/inappmessage.dart' ;
3+ import 'package:onesignal_flutter/src/utils.dart' ;
34
45const validMessageJson = {
56 'message_id' : 'test-message-id-123' ,
@@ -11,6 +12,32 @@ const validClickResultJson = {
1112 'closing_message' : true ,
1213};
1314
15+ void _testMessageEvent <T extends JSONStringRepresentable >(
16+ String eventName,
17+ T Function (Map <String , dynamic >) constructor,
18+ ) {
19+ group (eventName, () {
20+ test ('creates from valid JSON with message' , () {
21+ final json = {'message' : validMessageJson};
22+ final event = constructor (json);
23+ expect (event, isNotNull);
24+ });
25+
26+ test ('creates from JSON with null message_id' , () {
27+ final json = {'message' : < String , dynamic > {}};
28+ final event = constructor (json);
29+ expect (event, isNotNull);
30+ });
31+
32+ test ('jsonRepresentation returns correct JSON string' , () {
33+ final json = {'message' : validMessageJson};
34+ final event = constructor (json);
35+ final jsonString = event.jsonRepresentation ();
36+ expect (jsonString, contains ('"message"' ));
37+ });
38+ });
39+ }
40+
1441void main () {
1542 group ('OSInAppMessage' , () {
1643 test ('creates from valid JSON with message_id' , () {
@@ -119,130 +146,26 @@ void main() {
119146 };
120147 final event = OSInAppMessageClickEvent (json);
121148 final jsonString = event.jsonRepresentation ();
122- print (jsonString);
123149
124150 expect (jsonString, contains ('"message"' ));
125151 expect (jsonString, contains ('"result"' ));
126152 });
127153 });
128154
129- group ('OSInAppMessageWillDisplayEvent' , () {
130- test ('creates from valid JSON with message' , () {
131- final json = {
132- 'message' : validMessageJson,
133- };
134- final event = OSInAppMessageWillDisplayEvent (json);
135-
136- expect (event.message.messageId, 'test-message-id-123' );
137- });
138-
139- test ('creates from JSON with null message_id' , () {
140- final json = {
141- 'message' : < String , dynamic > {},
142- };
143- final event = OSInAppMessageWillDisplayEvent (json);
144-
145- expect (event.message.messageId, isNull);
146- });
147-
148- test ('jsonRepresentation returns correct JSON string' , () {
149- final json = {
150- 'message' : validMessageJson,
151- };
152- final event = OSInAppMessageWillDisplayEvent (json);
153- final jsonString = event.jsonRepresentation ();
154-
155- expect (jsonString, contains ('"message"' ));
156- });
157- });
158-
159- group ('OSInAppMessageDidDisplayEvent' , () {
160- test ('creates from valid JSON with message' , () {
161- final json = {
162- 'message' : validMessageJson,
163- };
164- final event = OSInAppMessageDidDisplayEvent (json);
165-
166- expect (event.message.messageId, 'test-message-id-123' );
167- });
168-
169- test ('creates from JSON with null message_id' , () {
170- final json = {
171- 'message' : < String , dynamic > {},
172- };
173- final event = OSInAppMessageDidDisplayEvent (json);
174-
175- expect (event.message.messageId, isNull);
176- });
177-
178- test ('jsonRepresentation returns correct JSON string' , () {
179- final json = {
180- 'message' : validMessageJson,
181- };
182- final event = OSInAppMessageDidDisplayEvent (json);
183- final jsonString = event.jsonRepresentation ();
184-
185- expect (jsonString, contains ('"message"' ));
186- });
187- });
188-
189- group ('OSInAppMessageWillDismissEvent' , () {
190- test ('creates from valid JSON with message' , () {
191- final json = {
192- 'message' : validMessageJson,
193- };
194- final event = OSInAppMessageWillDismissEvent (json);
195-
196- expect (event.message.messageId, 'test-message-id-123' );
197- });
198-
199- test ('creates from JSON with null message_id' , () {
200- final json = {
201- 'message' : < String , dynamic > {},
202- };
203- final event = OSInAppMessageWillDismissEvent (json);
204-
205- expect (event.message.messageId, isNull);
206- });
207-
208- test ('jsonRepresentation returns correct JSON string' , () {
209- final json = {
210- 'message' : validMessageJson,
211- };
212- final event = OSInAppMessageWillDismissEvent (json);
213- final jsonString = event.jsonRepresentation ();
214-
215- expect (jsonString, contains ('"message"' ));
216- });
217- });
218-
219- group ('OSInAppMessageDidDismissEvent' , () {
220- test ('creates from valid JSON with message' , () {
221- final json = {
222- 'message' : validMessageJson,
223- };
224- final event = OSInAppMessageDidDismissEvent (json);
225-
226- expect (event.message.messageId, 'test-message-id-123' );
227- });
228-
229- test ('creates from JSON with null message_id' , () {
230- final json = {
231- 'message' : < String , dynamic > {},
232- };
233- final event = OSInAppMessageDidDismissEvent (json);
234-
235- expect (event.message.messageId, isNull);
236- });
237-
238- test ('jsonRepresentation returns correct JSON string' , () {
239- final json = {
240- 'message' : validMessageJson,
241- };
242- final event = OSInAppMessageDidDismissEvent (json);
243- final jsonString = event.jsonRepresentation ();
244-
245- expect (jsonString, contains ('"message"' ));
246- });
247- });
155+ _testMessageEvent (
156+ 'OSInAppMessageWillDisplayEvent' ,
157+ (json) => OSInAppMessageWillDisplayEvent (json),
158+ );
159+ _testMessageEvent (
160+ 'OSInAppMessageDidDisplayEvent' ,
161+ (json) => OSInAppMessageDidDisplayEvent (json),
162+ );
163+ _testMessageEvent (
164+ 'OSInAppMessageWillDismissEvent' ,
165+ (json) => OSInAppMessageWillDismissEvent (json),
166+ );
167+ _testMessageEvent (
168+ 'OSInAppMessageDidDismissEvent' ,
169+ (json) => OSInAppMessageDidDismissEvent (json),
170+ );
248171}
0 commit comments