@@ -68,6 +68,7 @@ void main() {
68
68
addTearDown (testBinding.reset);
69
69
testBinding.firebaseMessagingInitialToken = '012abc' ;
70
70
addTearDown (NotificationService .debugReset);
71
+ NotificationService .debugBackgroundIsolateIsLive = false ;
71
72
await NotificationService .instance.start ();
72
73
}
73
74
@@ -93,13 +94,10 @@ void main() {
93
94
});
94
95
95
96
group ('NotificationDisplayManager' , () {
96
- Future < void > checkNotification (MessageFcmMessage data, {
97
+ void checkNotification (MessageFcmMessage data, {
97
98
required String expectedTitle,
98
99
required String expectedTagComponent,
99
- }) async {
100
- testBinding.firebaseMessaging.onMessage.add (
101
- RemoteMessage (data: data.toJson ()));
102
- await null ;
100
+ }) {
103
101
check (testBinding.notifications.takeShowCalls ()).single
104
102
..id.equals (NotificationDisplayManager .kNotificationId)
105
103
..title.equals (expectedTitle)
@@ -112,11 +110,28 @@ void main() {
112
110
);
113
111
}
114
112
113
+ Future <void > checkNotifications (MessageFcmMessage data, {
114
+ required String expectedTitle,
115
+ required String expectedTagComponent,
116
+ }) async {
117
+ testBinding.firebaseMessaging.onMessage.add (
118
+ RemoteMessage (data: data.toJson ()));
119
+ await null ;
120
+ checkNotification (data, expectedTitle: expectedTitle,
121
+ expectedTagComponent: expectedTagComponent);
122
+
123
+ testBinding.firebaseMessaging.onBackgroundMessage.add (
124
+ RemoteMessage (data: data.toJson ()));
125
+ await null ;
126
+ checkNotification (data, expectedTitle: expectedTitle,
127
+ expectedTagComponent: expectedTagComponent);
128
+ }
129
+
115
130
test ('stream message' , () async {
116
131
await init ();
117
132
final stream = eg.stream ();
118
133
final message = eg.streamMessage (stream: stream);
119
- await checkNotification (messageFcmMessage (message, streamName: stream.name),
134
+ await checkNotifications (messageFcmMessage (message, streamName: stream.name),
120
135
expectedTitle: '${stream .name } > ${message .subject }' ,
121
136
expectedTagComponent: 'stream:${message .streamId }:${message .subject }' );
122
137
});
@@ -125,31 +140,31 @@ void main() {
125
140
await init ();
126
141
final stream = eg.stream ();
127
142
final message = eg.streamMessage (stream: stream);
128
- await checkNotification (messageFcmMessage (message, streamName: null ),
143
+ await checkNotifications (messageFcmMessage (message, streamName: null ),
129
144
expectedTitle: '(unknown stream) > ${message .subject }' ,
130
145
expectedTagComponent: 'stream:${message .streamId }:${message .subject }' );
131
146
});
132
147
133
148
test ('group DM' , () async {
134
149
await init ();
135
150
final message = eg.dmMessage (from: eg.thirdUser, to: [eg.otherUser, eg.selfUser]);
136
- await checkNotification (messageFcmMessage (message),
151
+ await checkNotifications (messageFcmMessage (message),
137
152
expectedTitle: "${eg .thirdUser .fullName } to you and 1 others" ,
138
153
expectedTagComponent: 'dm:${message .allRecipientIds .join ("," )}' );
139
154
});
140
155
141
156
test ('1:1 DM' , () async {
142
157
await init ();
143
158
final message = eg.dmMessage (from: eg.otherUser, to: [eg.selfUser]);
144
- await checkNotification (messageFcmMessage (message),
159
+ await checkNotifications (messageFcmMessage (message),
145
160
expectedTitle: eg.otherUser.fullName,
146
161
expectedTagComponent: 'dm:${message .allRecipientIds .join ("," )}' );
147
162
});
148
163
149
164
test ('self-DM' , () async {
150
165
await init ();
151
166
final message = eg.dmMessage (from: eg.selfUser, to: []);
152
- await checkNotification (messageFcmMessage (message),
167
+ await checkNotifications (messageFcmMessage (message),
153
168
expectedTitle: eg.selfUser.fullName,
154
169
expectedTagComponent: 'dm:${message .allRecipientIds .join ("," )}' );
155
170
});
0 commit comments