@@ -77,60 +77,42 @@ void main() {
77
77
}
78
78
79
79
group ('single tracker' , () {
80
- test ( 'batch goes before the existing messages' , ( ) {
80
+ void checkHandleMessagesSingle ( List < int > oldIds, List < int > newIds ) {
81
81
checkHandleMessages ([
82
- eg. streamMessage (stream : stream1, topic : 'a' , sender : user10, id : 300 ),
83
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 400 ),
82
+ for ( final id in oldIds)
83
+ eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: id ),
84
84
], [
85
- eg. streamMessage (stream : stream1, topic : 'a' , sender : user10, id : 100 ),
86
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 200 ),
85
+ for ( final id in newIds)
86
+ eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: id ),
87
87
]);
88
+ }
89
+
90
+ test ('batch goes before the existing messages' , () {
91
+ checkHandleMessagesSingle ([300 , 400 ], [100 , 200 ]);
88
92
});
89
93
90
94
test ('batch goes after the existing messages' , () {
91
- checkHandleMessages ([
92
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 300 ),
93
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 400 ),
94
- ], [
95
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 500 ),
96
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 600 ),
97
- ]);
95
+ checkHandleMessagesSingle ([300 , 400 ], [500 , 600 ]);
98
96
});
99
97
100
98
test ('batch is interspersed among the existing messages' , () {
101
- checkHandleMessages ([
102
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 200 ),
103
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 400 ),
104
- ], [
105
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 100 ),
106
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 300 ),
107
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 500 ),
108
- ]);
99
+ checkHandleMessagesSingle ([200 , 400 ], [100 , 300 , 500 ]);
109
100
});
110
101
111
102
test ('batch contains some of already-existing messages' , () {
112
- checkHandleMessages ([
113
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 200 ),
114
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 300 ),
115
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 400 ),
116
- ], [
117
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 100 ),
118
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 200 ),
119
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 400 ),
120
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 500 ),
121
- ]);
103
+ checkHandleMessagesSingle ([200 , 300 , 400 ], [100 , 200 , 400 , 500 ]);
122
104
});
105
+ });
123
106
124
- test ('batch with both DM and stream messages -> ignores DM, processes stream messages' , () {
125
- checkHandleMessages ([
126
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 100 ),
127
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 200 ),
128
- ], [
129
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 300 ),
130
- eg.dmMessage (from: eg.otherUser, to: [eg.selfUser], id: 400 ),
131
- eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 500 ),
132
- ]);
133
- });
107
+ test ('batch with both DM and stream messages -> ignores DM, processes stream messages' , () {
108
+ checkHandleMessages ([
109
+ eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 100 ),
110
+ eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 200 ),
111
+ ], [
112
+ eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 300 ),
113
+ eg.dmMessage (from: eg.otherUser, to: [eg.selfUser], id: 400 ),
114
+ eg.streamMessage (stream: stream1, topic: 'a' , sender: user10, id: 500 ),
115
+ ]);
134
116
});
135
117
136
118
group ('multiple trackers' , () {
0 commit comments