Skip to content

Commit b5bc4b7

Browse files
committed
msglist test: Process MessageEvents through whole store, not just model
Soon, we'll store all messages centrally on the store, and when we do that, we'll want an invariant that all the message list's messages are represented there. The tests in this file should exercise the app code faithfully so that they produce states that respect that invariant.
1 parent 844d1cf commit b5bc4b7

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

test/model/message_list_test.dart

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -234,37 +234,37 @@ void main() {
234234
..messages.length.equals(200);
235235
});
236236

237-
test('handleMessageEvent', () async {
237+
test('MessageEvent', () async {
238238
final stream = eg.stream();
239239
await prepare(narrow: StreamNarrow(stream.streamId));
240240
await prepareMessages(foundOldest: true, messages:
241241
List.generate(30, (i) => eg.streamMessage(stream: stream)));
242242

243243
check(model).messages.length.equals(30);
244-
model.handleMessageEvent(MessageEvent(id: 0,
244+
await store.handleEvent(MessageEvent(id: 0,
245245
message: eg.streamMessage(stream: stream)));
246246
checkNotifiedOnce();
247247
check(model).messages.length.equals(31);
248248
});
249249

250-
test('handleMessageEvent, not in narrow', () async {
250+
test('MessageEvent, not in narrow', () async {
251251
final stream = eg.stream(streamId: 123);
252252
await prepare(narrow: StreamNarrow(stream.streamId));
253253
await prepareMessages(foundOldest: true, messages:
254254
List.generate(30, (i) => eg.streamMessage(stream: stream)));
255255

256256
check(model).messages.length.equals(30);
257257
final otherStream = eg.stream(streamId: 234);
258-
model.handleMessageEvent(MessageEvent(id: 0,
258+
await store.handleEvent(MessageEvent(id: 0,
259259
message: eg.streamMessage(stream: otherStream)));
260260
checkNotNotified();
261261
check(model).messages.length.equals(30);
262262
});
263263

264-
test('handleMessageEvent, before fetch', () async {
264+
test('MessageEvent, before fetch', () async {
265265
final stream = eg.stream();
266266
await prepare(narrow: StreamNarrow(stream.streamId));
267-
model.handleMessageEvent(MessageEvent(id: 0,
267+
await store.handleEvent(MessageEvent(id: 0,
268268
message: eg.streamMessage(stream: stream)));
269269
checkNotNotified();
270270
check(model).fetched.isFalse();
@@ -540,7 +540,7 @@ void main() {
540540
await prepare(narrow: StreamNarrow(stream.streamId));
541541
await prepareMessages(foundOldest: true, messages:
542542
List.generate(30, (i) => eg.streamMessage(stream: stream)));
543-
model.handleMessageEvent(MessageEvent(id: 0,
543+
await store.handleEvent(MessageEvent(id: 0,
544544
message: eg.streamMessage(stream: stream)));
545545
checkNotifiedOnce();
546546
check(model).messages.length.equals(31);
@@ -596,28 +596,28 @@ void main() {
596596
check(model.messages.map((m) => m.id))
597597
.deepEquals(expected..insertAll(0, [101, 103, 105]));
598598

599-
// … and on handleMessageEvent.
600-
model.handleMessageEvent(MessageEvent(id: 0,
599+
// … and on MessageEvent.
600+
await store.handleEvent(MessageEvent(id: 0,
601601
message: eg.streamMessage(id: 301, stream: stream1, topic: 'A')));
602602
checkNotifiedOnce();
603603
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301));
604604

605-
model.handleMessageEvent(MessageEvent(id: 0,
605+
await store.handleEvent(MessageEvent(id: 0,
606606
message: eg.streamMessage(id: 302, stream: stream1, topic: 'B')));
607607
checkNotNotified();
608608
check(model.messages.map((m) => m.id)).deepEquals(expected);
609609

610-
model.handleMessageEvent(MessageEvent(id: 0,
610+
await store.handleEvent(MessageEvent(id: 0,
611611
message: eg.streamMessage(id: 303, stream: stream2, topic: 'C')));
612612
checkNotifiedOnce();
613613
check(model.messages.map((m) => m.id)).deepEquals(expected..add(303));
614614

615-
model.handleMessageEvent(MessageEvent(id: 0,
615+
await store.handleEvent(MessageEvent(id: 0,
616616
message: eg.streamMessage(id: 304, stream: stream2, topic: 'D')));
617617
checkNotNotified();
618618
check(model.messages.map((m) => m.id)).deepEquals(expected);
619619

620-
model.handleMessageEvent(MessageEvent(id: 0,
620+
await store.handleEvent(MessageEvent(id: 0,
621621
message: eg.dmMessage(id: 305, from: eg.otherUser, to: [eg.selfUser])));
622622
checkNotifiedOnce();
623623
check(model.messages.map((m) => m.id)).deepEquals(expected..add(305));
@@ -653,18 +653,18 @@ void main() {
653653
check(model.messages.map((m) => m.id))
654654
.deepEquals(expected..insertAll(0, [101, 102]));
655655

656-
// … and on handleMessageEvent.
657-
model.handleMessageEvent(MessageEvent(id: 0,
656+
// … and on MessageEvent.
657+
await store.handleEvent(MessageEvent(id: 0,
658658
message: eg.streamMessage(id: 301, stream: stream, topic: 'A')));
659659
checkNotifiedOnce();
660660
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301));
661661

662-
model.handleMessageEvent(MessageEvent(id: 0,
662+
await store.handleEvent(MessageEvent(id: 0,
663663
message: eg.streamMessage(id: 302, stream: stream, topic: 'B')));
664664
checkNotifiedOnce();
665665
check(model.messages.map((m) => m.id)).deepEquals(expected..add(302));
666666

667-
model.handleMessageEvent(MessageEvent(id: 0,
667+
await store.handleEvent(MessageEvent(id: 0,
668668
message: eg.streamMessage(id: 303, stream: stream, topic: 'C')));
669669
checkNotNotified();
670670
check(model.messages.map((m) => m.id)).deepEquals(expected);
@@ -695,8 +695,8 @@ void main() {
695695
check(model.messages.map((m) => m.id))
696696
.deepEquals(expected..insertAll(0, [101]));
697697

698-
// … and on handleMessageEvent.
699-
model.handleMessageEvent(MessageEvent(id: 0,
698+
// … and on MessageEvent.
699+
await store.handleEvent(MessageEvent(id: 0,
700700
message: eg.streamMessage(id: 301, stream: stream, topic: 'A')));
701701
checkNotifiedOnce();
702702
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301));
@@ -750,12 +750,12 @@ void main() {
750750
await model.fetchOlder();
751751
checkNotified(count: 2);
752752

753-
// Then test handleMessageEvent, where a new header is needed…
754-
model.handleMessageEvent(MessageEvent(id: 0, message: streamMessage(13)));
753+
// Then test MessageEvent, where a new header is needed…
754+
await store.handleEvent(MessageEvent(id: 0, message: streamMessage(13)));
755755
checkNotifiedOnce();
756756

757757
// … and where it's not.
758-
model.handleMessageEvent(MessageEvent(id: 0, message: streamMessage(14)));
758+
await store.handleEvent(MessageEvent(id: 0, message: streamMessage(14)));
759759
checkNotifiedOnce();
760760

761761
// Then test maybeUpdateMessage, where a header is and remains needed…

0 commit comments

Comments
 (0)