@@ -43,6 +43,38 @@ void main() {
43
43
check (mkEvent ([MessageFlag .read])).message.flags.deepEquals ([MessageFlag .read]);
44
44
});
45
45
46
+ test ('delete_message: require streamId and topic for stream messages' , () {
47
+ check (() => DeleteMessageEvent .fromJson ({
48
+ 'id' : 1 ,
49
+ 'type' : 'delete_message' ,
50
+ 'message_ids' : [1 , 2 , 3 ],
51
+ 'message_type' : 'private' ,
52
+ })).returnsNormally ();
53
+
54
+ final baseJsonStream = {
55
+ 'id' : 1 ,
56
+ 'type' : 'delete_message' ,
57
+ 'message_ids' : [1 , 2 , 3 ],
58
+ 'message_type' : 'stream' ,
59
+ };
60
+
61
+ check (() => DeleteMessageEvent .fromJson ({
62
+ ...baseJsonStream
63
+ })).throws ();
64
+
65
+ check (() => DeleteMessageEvent .fromJson ({
66
+ ...baseJsonStream, 'stream_id' : 1 , 'topic' : 'some topic' ,
67
+ })).returnsNormally ();
68
+
69
+ check (() => DeleteMessageEvent .fromJson ({
70
+ ...baseJsonStream, 'stream_id' : 1 ,
71
+ })).throws ();
72
+
73
+ check (() => DeleteMessageEvent .fromJson ({
74
+ ...baseJsonStream, 'topic' : 'some topic' ,
75
+ })).throws ();
76
+ });
77
+
46
78
test ('update_message_flags/remove: require messageDetails in mark-as-unread' , () {
47
79
final baseJson = {
48
80
'id' : 1 ,
0 commit comments