Skip to content

Commit e9eabdc

Browse files
committed
test [nfc]: Add messageEvent
MessageEvent constructor calls are generally quite short, and there are no boring required fields other than an integer id. However, as we add localMessageId to the event, it would be expected to have a boring value most of the time, so prepare for that. A neat side-effect is that we can cut some imports of lib/api/model/. (Some places that use non-zero event IDs now use 0, but we don't care much about this value anyway.)
1 parent 1c077cc commit e9eabdc

7 files changed

+45
-43
lines changed

test/example_data.dart

+3
Original file line numberDiff line numberDiff line change
@@ -622,6 +622,9 @@ UserTopicEvent userTopicEvent(
622622
);
623623
}
624624

625+
MessageEvent messageEvent(Message message) =>
626+
MessageEvent(id: 0, message: message);
627+
625628
DeleteMessageEvent deleteMessageEvent(List<StreamMessage> messages) {
626629
assert(messages.isNotEmpty);
627630
final streamId = messages.first.streamId;

test/model/message_list_test.dart

+22-22
Original file line numberDiff line numberDiff line change
@@ -1450,28 +1450,28 @@ void main() {
14501450
.deepEquals(expected..insertAll(0, [101, 103, 105]));
14511451

14521452
// … and on MessageEvent.
1453-
await store.handleEvent(MessageEvent(id: 0,
1454-
message: eg.streamMessage(id: 301, stream: stream1, topic: 'A')));
1453+
await store.handleEvent(eg.messageEvent(
1454+
eg.streamMessage(id: 301, stream: stream1, topic: 'A')));
14551455
checkNotifiedOnce();
14561456
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301));
14571457

1458-
await store.handleEvent(MessageEvent(id: 0,
1459-
message: eg.streamMessage(id: 302, stream: stream1, topic: 'B')));
1458+
await store.handleEvent(eg.messageEvent(
1459+
eg.streamMessage(id: 302, stream: stream1, topic: 'B')));
14601460
checkNotNotified();
14611461
check(model.messages.map((m) => m.id)).deepEquals(expected);
14621462

1463-
await store.handleEvent(MessageEvent(id: 0,
1464-
message: eg.streamMessage(id: 303, stream: stream2, topic: 'C')));
1463+
await store.handleEvent(eg.messageEvent(
1464+
eg.streamMessage(id: 303, stream: stream2, topic: 'C')));
14651465
checkNotifiedOnce();
14661466
check(model.messages.map((m) => m.id)).deepEquals(expected..add(303));
14671467

1468-
await store.handleEvent(MessageEvent(id: 0,
1469-
message: eg.streamMessage(id: 304, stream: stream2, topic: 'D')));
1468+
await store.handleEvent(eg.messageEvent(
1469+
eg.streamMessage(id: 304, stream: stream2, topic: 'D')));
14701470
checkNotNotified();
14711471
check(model.messages.map((m) => m.id)).deepEquals(expected);
14721472

1473-
await store.handleEvent(MessageEvent(id: 0,
1474-
message: eg.dmMessage(id: 305, from: eg.otherUser, to: [eg.selfUser])));
1473+
await store.handleEvent(eg.messageEvent(
1474+
eg.dmMessage(id: 305, from: eg.otherUser, to: [eg.selfUser])));
14751475
checkNotifiedOnce();
14761476
check(model.messages.map((m) => m.id)).deepEquals(expected..add(305));
14771477
});
@@ -1507,18 +1507,18 @@ void main() {
15071507
.deepEquals(expected..insertAll(0, [101, 102]));
15081508

15091509
// … and on MessageEvent.
1510-
await store.handleEvent(MessageEvent(id: 0,
1511-
message: eg.streamMessage(id: 301, stream: stream, topic: 'A')));
1510+
await store.handleEvent(eg.messageEvent(
1511+
eg.streamMessage(id: 301, stream: stream, topic: 'A')));
15121512
checkNotifiedOnce();
15131513
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301));
15141514

1515-
await store.handleEvent(MessageEvent(id: 0,
1516-
message: eg.streamMessage(id: 302, stream: stream, topic: 'B')));
1515+
await store.handleEvent(eg.messageEvent(
1516+
eg.streamMessage(id: 302, stream: stream, topic: 'B')));
15171517
checkNotifiedOnce();
15181518
check(model.messages.map((m) => m.id)).deepEquals(expected..add(302));
15191519

1520-
await store.handleEvent(MessageEvent(id: 0,
1521-
message: eg.streamMessage(id: 303, stream: stream, topic: 'C')));
1520+
await store.handleEvent(eg.messageEvent(
1521+
eg.streamMessage(id: 303, stream: stream, topic: 'C')));
15221522
checkNotNotified();
15231523
check(model.messages.map((m) => m.id)).deepEquals(expected);
15241524
});
@@ -1549,8 +1549,8 @@ void main() {
15491549
.deepEquals(expected..insertAll(0, [101]));
15501550

15511551
// … and on MessageEvent.
1552-
await store.handleEvent(MessageEvent(id: 0,
1553-
message: eg.streamMessage(id: 301, stream: stream, topic: 'A')));
1552+
await store.handleEvent(eg.messageEvent(
1553+
eg.streamMessage(id: 301, stream: stream, topic: 'A')));
15541554
checkNotifiedOnce();
15551555
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301));
15561556
});
@@ -1589,7 +1589,7 @@ void main() {
15891589
// … and on MessageEvent.
15901590
final messages = getMessages(301);
15911591
for (var i = 0; i < 3; i += 1) {
1592-
await store.handleEvent(MessageEvent(id: 0, message: messages[i]));
1592+
await store.handleEvent(eg.messageEvent(messages[i]));
15931593
checkNotifiedOnce();
15941594
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301 + i));
15951595
}
@@ -1627,7 +1627,7 @@ void main() {
16271627
// … and on MessageEvent.
16281628
final messages = getMessages(301);
16291629
for (var i = 0; i < 2; i += 1) {
1630-
await store.handleEvent(MessageEvent(id: 0, message: messages[i]));
1630+
await store.handleEvent(eg.messageEvent(messages[i]));
16311631
checkNotifiedOnce();
16321632
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301 + i));
16331633
}
@@ -1718,11 +1718,11 @@ void main() {
17181718
checkNotified(count: 2);
17191719

17201720
// Then test MessageEvent, where a new header is needed…
1721-
await store.handleEvent(MessageEvent(id: 0, message: streamMessage(13)));
1721+
await store.handleEvent(eg.messageEvent(streamMessage(13)));
17221722
checkNotifiedOnce();
17231723

17241724
// … and where it's not.
1725-
await store.handleEvent(MessageEvent(id: 0, message: streamMessage(14)));
1725+
await store.handleEvent(eg.messageEvent(streamMessage(14)));
17261726
checkNotifiedOnce();
17271727

17281728
// Then test UpdateMessageEvent edits, where a header is and remains needed…

test/model/message_test.dart

+5-5
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ void main() {
129129
check(store.messages).isEmpty();
130130

131131
final newMessage = eg.streamMessage();
132-
await store.handleEvent(MessageEvent(id: 1, message: newMessage));
132+
await store.handleEvent(eg.messageEvent(newMessage));
133133
check(store.messages).deepEquals({
134134
newMessage.id: newMessage,
135135
});
@@ -148,7 +148,7 @@ void main() {
148148
});
149149

150150
final newMessage = eg.streamMessage();
151-
await store.handleEvent(MessageEvent(id: 1, message: newMessage));
151+
await store.handleEvent(eg.messageEvent(newMessage));
152152
check(store.messages).deepEquals({
153153
for (final m in messages) m.id: m,
154154
newMessage.id: newMessage,
@@ -162,7 +162,7 @@ void main() {
162162
check(store.messages).deepEquals({1: message});
163163

164164
final newMessage = eg.streamMessage(id: 1, content: '<p>bar</p>');
165-
await store.handleEvent(MessageEvent(id: 1, message: newMessage));
165+
await store.handleEvent(eg.messageEvent(newMessage));
166166
check(store.messages).deepEquals({1: newMessage});
167167
});
168168
});
@@ -859,7 +859,7 @@ void main() {
859859
]);
860860

861861
await prepare();
862-
await store.handleEvent(MessageEvent(id: 0, message: message));
862+
await store.handleEvent(eg.messageEvent(message));
863863
}
864864

865865
test('smoke', () async {
@@ -930,7 +930,7 @@ void main() {
930930
),
931931
]);
932932
await prepare();
933-
await store.handleEvent(MessageEvent(id: 0, message: message));
933+
await store.handleEvent(eg.messageEvent(message));
934934
check(store.messages[message.id]).isNotNull().poll.isNull();
935935
});
936936
});

test/model/recent_dm_conversations_test.dart

+8-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import 'package:checks/checks.dart';
22
import 'package:test/scaffolding.dart';
3-
import 'package:zulip/api/model/events.dart';
43
import 'package:zulip/api/model/initial_snapshot.dart';
54
import 'package:zulip/model/narrow.dart';
65
import 'package:zulip/model/recent_dm_conversations.dart';
@@ -66,7 +65,7 @@ void main() {
6665
final expected = setupView();
6766
check(setupView()
6867
..addListener(() { listenersNotified = true; })
69-
..handleMessageEvent(MessageEvent(id: 1, message: eg.streamMessage()))
68+
..handleMessageEvent(eg.messageEvent(eg.streamMessage()))
7069
) ..map.deepEquals(expected.map)
7170
..sorted.deepEquals(expected.sorted)
7271
..latestMessagesByRecipient.deepEquals(expected.latestMessagesByRecipient);
@@ -78,7 +77,7 @@ void main() {
7877
final message = eg.dmMessage(id: 300, from: eg.selfUser, to: [eg.user(userId: 2)]);
7978
check(setupView()
8079
..addListener(() { listenersNotified = true; })
81-
..handleMessageEvent(MessageEvent(id: 1, message: message))
80+
..handleMessageEvent(eg.messageEvent(message))
8281
) ..map.deepEquals({
8382
key([2]): 300,
8483
key([1]): 200,
@@ -94,7 +93,7 @@ void main() {
9493
final message = eg.dmMessage(id: 150, from: eg.selfUser, to: [eg.user(userId: 2)]);
9594
check(setupView()
9695
..addListener(() { listenersNotified = true; })
97-
..handleMessageEvent(MessageEvent(id: 1, message: message))
96+
..handleMessageEvent(eg.messageEvent(message))
9897
) ..map.deepEquals({
9998
key([1]): 200,
10099
key([2]): 150,
@@ -111,7 +110,7 @@ void main() {
111110
to: [eg.user(userId: 1), eg.user(userId: 2)]);
112111
check(setupView()
113112
..addListener(() { listenersNotified = true; })
114-
..handleMessageEvent(MessageEvent(id: 1, message: message))
113+
..handleMessageEvent(eg.messageEvent(message))
115114
) ..map.deepEquals({
116115
key([1, 2]): 300,
117116
key([1]): 200,
@@ -126,7 +125,7 @@ void main() {
126125
final message = eg.dmMessage(id: 300, from: eg.selfUser, to: [eg.user(userId: 1)]);
127126
check(setupView()
128127
..addListener(() { listenersNotified = true; })
129-
..handleMessageEvent(MessageEvent(id: 1, message: message))
128+
..handleMessageEvent(eg.messageEvent(message))
130129
) ..map.deepEquals({
131130
key([1]): 300,
132131
key([1, 2]): 100,
@@ -143,7 +142,7 @@ void main() {
143142
final expected = setupView();
144143
check(setupView()
145144
// ..addListener(() { listenersNotified = true; })
146-
..handleMessageEvent(MessageEvent(id: 1, message: message))
145+
..handleMessageEvent(eg.messageEvent(message))
147146
) ..map.deepEquals(expected.map)
148147
..sorted.deepEquals(expected.sorted)
149148
..latestMessagesByRecipient.deepEquals(expected.latestMessagesByRecipient);
@@ -157,7 +156,7 @@ void main() {
157156
to: [eg.user(userId: 1), eg.user(userId: 3)]);
158157
check(setupView()
159158
..addListener(() { listenersNotified = true; })
160-
..handleMessageEvent(MessageEvent(id: 1, message: message))
159+
..handleMessageEvent(eg.messageEvent(message))
161160
) ..map.deepEquals({
162161
key([1, 3]): 300,
163162
key([1]): 200,
@@ -174,7 +173,7 @@ void main() {
174173
to: [eg.user(userId: 1), eg.user(userId: 3)]);
175174
check(setupView()
176175
..addListener(() { listenersNotified = true; })
177-
..handleMessageEvent(MessageEvent(id: 1, message: message))
176+
..handleMessageEvent(eg.messageEvent(message))
178177
) ..map.deepEquals({
179178
key([1]): 200,
180179
key([1, 3]): 150,

test/model/test_store.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ extension PerAccountStoreTestExtension on PerAccountStore {
288288
}
289289

290290
Future<void> addMessage(Message message) async {
291-
await handleEvent(MessageEvent(id: 1, message: message));
291+
await handleEvent(eg.messageEvent(message));
292292
}
293293

294294
Future<void> addMessages(Iterable<Message> messages) async {

test/model/unreads_test.dart

+5-5
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ void main() {
4949

5050
void fillWithMessages(Iterable<Message> messages) {
5151
for (final message in messages) {
52-
model.handleMessageEvent(MessageEvent(id: 0, message: message));
52+
model.handleMessageEvent(eg.messageEvent(message));
5353
}
5454
notifiedCount = 0;
5555
}
@@ -318,7 +318,7 @@ void main() {
318318
final message = isStream
319319
? eg.streamMessage(flags: flags)
320320
: eg.dmMessage(from: eg.otherUser, to: [eg.selfUser], flags: flags);
321-
model.handleMessageEvent(MessageEvent(id: 0, message: message));
321+
model.handleMessageEvent(eg.messageEvent(message));
322322
if (isUnread) {
323323
checkNotifiedOnce();
324324
}
@@ -346,7 +346,7 @@ void main() {
346346

347347
prepare();
348348
fillWithMessages([oldMessage]);
349-
model.handleMessageEvent(MessageEvent(id: 0, message: newMessage));
349+
model.handleMessageEvent(eg.messageEvent(newMessage));
350350
checkNotifiedOnce();
351351
checkMatchesMessages([oldMessage, newMessage]);
352352
});
@@ -369,7 +369,7 @@ void main() {
369369
final message = eg.dmMessage(from: from, to: to, flags: []);
370370

371371
prepare();
372-
model.handleMessageEvent(MessageEvent(id: 0, message: message));
372+
model.handleMessageEvent(eg.messageEvent(message));
373373
checkNotifiedOnce();
374374
checkMatchesMessages([message]);
375375
});
@@ -387,7 +387,7 @@ void main() {
387387
test('existing in $oldDesc narrow; new in ${oldNarrow == newNarrow ? 'same narrow' : 'different narrow ($newDesc)'}', () {
388388
prepare();
389389
fillWithMessages([oldMessage]);
390-
model.handleMessageEvent(MessageEvent(id: 0, message: newMessage));
390+
model.handleMessageEvent(eg.messageEvent(newMessage));
391391
checkNotifiedOnce();
392392
checkMatchesMessages([oldMessage, newMessage]);
393393
});

test/widgets/message_list_test.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -1481,7 +1481,7 @@ void main() {
14811481

14821482
// introduce new message
14831483
final newMessage = eg.streamMessage(flags:[MessageFlag.read]);
1484-
await store.handleEvent(MessageEvent(id: 0, message: newMessage));
1484+
await store.handleEvent(eg.messageEvent(newMessage));
14851485
await tester.pump(); // process handleEvent
14861486
check(find.byType(MessageItem).evaluate()).length.equals(2);
14871487
check(getAnimation(tester, message.id))

0 commit comments

Comments
 (0)