Skip to content

Commit f31ab3e

Browse files
committed
msglist test [nfc]: Use checkHasMessages/MessageIds helpers throughout
1 parent 31bd070 commit f31ab3e

File tree

1 file changed

+31
-41
lines changed

1 file changed

+31
-41
lines changed

test/model/message_list_test.dart

Lines changed: 31 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,14 @@ void main() {
116116
});
117117
}
118118

119+
void checkHasMessageIds(Iterable<int> messageIds) {
120+
check(model.messages.map((m) => m.id)).deepEquals(messageIds);
121+
}
122+
123+
void checkHasMessages(Iterable<Message> messages) {
124+
checkHasMessageIds(messages.map((e) => e.id));
125+
}
126+
119127
group('fetchInitial', () {
120128
final someChannel = eg.stream();
121129
const someTopic = 'some topic';
@@ -439,10 +447,6 @@ void main() {
439447
await setVisibility(policy);
440448
}
441449

442-
void checkHasMessageIds(Iterable<int> messageIds) {
443-
check(model.messages.map((m) => m.id)).deepEquals(messageIds);
444-
}
445-
446450
test('mute a visible topic', () async {
447451
await prepare(narrow: const CombinedFeedNarrow());
448452
await prepareMutes();
@@ -643,11 +647,11 @@ void main() {
643647
check(model).messages.length.equals(30);
644648
await store.handleEvent(eg.deleteMessageEvent(messagesToDelete));
645649
checkNotifiedOnce();
646-
check(model.messages.map((message) => message.id)).deepEquals([
650+
checkHasMessages([
647651
...messages.sublist(0, 2),
648652
...messages.sublist(5, 10),
649653
...messages.sublist(15),
650-
].map((message) => message.id));
654+
]);
651655
});
652656
});
653657

@@ -750,10 +754,6 @@ void main() {
750754
final stream = eg.stream();
751755
final otherStream = eg.stream();
752756

753-
void checkHasMessages(Iterable<Message> messages) {
754-
check(model.messages.map((e) => e.id)).deepEquals(messages.map((e) => e.id));
755-
}
756-
757757
Future<void> prepareNarrow(Narrow narrow, List<Message>? messages) async {
758758
await prepare(narrow: narrow);
759759
for (final streamToAdd in [stream, otherStream]) {
@@ -1457,8 +1457,7 @@ void main() {
14571457
eg.dmMessage( id: 205, from: eg.otherUser, to: [eg.selfUser]),
14581458
]);
14591459
final expected = <int>[];
1460-
check(model.messages.map((m) => m.id))
1461-
.deepEquals(expected..addAll([201, 203, 205]));
1460+
checkHasMessageIds(expected..addAll([201, 203, 205]));
14621461

14631462
// … and on fetchOlder…
14641463
connection.prepare(json: olderResult(
@@ -1471,34 +1470,33 @@ void main() {
14711470
]).toJson());
14721471
await model.fetchOlder();
14731472
checkNotified(count: 2);
1474-
check(model.messages.map((m) => m.id))
1475-
.deepEquals(expected..insertAll(0, [101, 103, 105]));
1473+
checkHasMessageIds(expected..insertAll(0, [101, 103, 105]));
14761474

14771475
// … and on MessageEvent.
14781476
await store.addMessage(
14791477
eg.streamMessage(id: 301, stream: stream1, topic: 'A'));
14801478
checkNotifiedOnce();
1481-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301));
1479+
checkHasMessageIds(expected..add(301));
14821480

14831481
await store.addMessage(
14841482
eg.streamMessage(id: 302, stream: stream1, topic: 'B'));
14851483
checkNotNotified();
1486-
check(model.messages.map((m) => m.id)).deepEquals(expected);
1484+
checkHasMessageIds(expected);
14871485

14881486
await store.addMessage(
14891487
eg.streamMessage(id: 303, stream: stream2, topic: 'C'));
14901488
checkNotifiedOnce();
1491-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(303));
1489+
checkHasMessageIds(expected..add(303));
14921490

14931491
await store.addMessage(
14941492
eg.streamMessage(id: 304, stream: stream2, topic: 'D'));
14951493
checkNotNotified();
1496-
check(model.messages.map((m) => m.id)).deepEquals(expected);
1494+
checkHasMessageIds(expected);
14971495

14981496
await store.addMessage(
14991497
eg.dmMessage(id: 305, from: eg.otherUser, to: [eg.selfUser]));
15001498
checkNotifiedOnce();
1501-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(305));
1499+
checkHasMessageIds(expected..add(305));
15021500
});
15031501

15041502
test('in ChannelNarrow', () async {
@@ -1516,8 +1514,7 @@ void main() {
15161514
eg.streamMessage(id: 203, stream: stream, topic: 'C'),
15171515
]);
15181516
final expected = <int>[];
1519-
check(model.messages.map((m) => m.id))
1520-
.deepEquals(expected..addAll([201, 202]));
1517+
checkHasMessageIds(expected..addAll([201, 202]));
15211518

15221519
// … and on fetchOlder…
15231520
connection.prepare(json: olderResult(
@@ -1528,24 +1525,23 @@ void main() {
15281525
]).toJson());
15291526
await model.fetchOlder();
15301527
checkNotified(count: 2);
1531-
check(model.messages.map((m) => m.id))
1532-
.deepEquals(expected..insertAll(0, [101, 102]));
1528+
checkHasMessageIds(expected..insertAll(0, [101, 102]));
15331529

15341530
// … and on MessageEvent.
15351531
await store.addMessage(
15361532
eg.streamMessage(id: 301, stream: stream, topic: 'A'));
15371533
checkNotifiedOnce();
1538-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301));
1534+
checkHasMessageIds(expected..add(301));
15391535

15401536
await store.addMessage(
15411537
eg.streamMessage(id: 302, stream: stream, topic: 'B'));
15421538
checkNotifiedOnce();
1543-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(302));
1539+
checkHasMessageIds(expected..add(302));
15441540

15451541
await store.addMessage(
15461542
eg.streamMessage(id: 303, stream: stream, topic: 'C'));
15471543
checkNotNotified();
1548-
check(model.messages.map((m) => m.id)).deepEquals(expected);
1544+
checkHasMessageIds(expected);
15491545
});
15501546

15511547
test('in TopicNarrow', () async {
@@ -1560,8 +1556,7 @@ void main() {
15601556
eg.streamMessage(id: 201, stream: stream, topic: 'A'),
15611557
]);
15621558
final expected = <int>[];
1563-
check(model.messages.map((m) => m.id))
1564-
.deepEquals(expected..addAll([201]));
1559+
checkHasMessageIds(expected..addAll([201]));
15651560

15661561
// … and on fetchOlder…
15671562
connection.prepare(json: olderResult(
@@ -1570,14 +1565,13 @@ void main() {
15701565
]).toJson());
15711566
await model.fetchOlder();
15721567
checkNotified(count: 2);
1573-
check(model.messages.map((m) => m.id))
1574-
.deepEquals(expected..insertAll(0, [101]));
1568+
checkHasMessageIds(expected..insertAll(0, [101]));
15751569

15761570
// … and on MessageEvent.
15771571
await store.addMessage(
15781572
eg.streamMessage(id: 301, stream: stream, topic: 'A'));
15791573
checkNotifiedOnce();
1580-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301));
1574+
checkHasMessageIds(expected..add(301));
15811575
});
15821576

15831577
test('in MentionsNarrow', () async {
@@ -1600,23 +1594,21 @@ void main() {
16001594
// Check filtering on fetchInitial…
16011595
await prepareMessages(foundOldest: false, messages: getMessages(201));
16021596
final expected = <int>[];
1603-
check(model.messages.map((m) => m.id))
1604-
.deepEquals(expected..addAll([201, 202, 203]));
1597+
checkHasMessageIds(expected..addAll([201, 202, 203]));
16051598

16061599
// … and on fetchOlder…
16071600
connection.prepare(json: olderResult(
16081601
anchor: 201, foundOldest: true, messages: getMessages(101)).toJson());
16091602
await model.fetchOlder();
16101603
checkNotified(count: 2);
1611-
check(model.messages.map((m) => m.id))
1612-
.deepEquals(expected..insertAll(0, [101, 102, 103]));
1604+
checkHasMessageIds(expected..insertAll(0, [101, 102, 103]));
16131605

16141606
// … and on MessageEvent.
16151607
final messages = getMessages(301);
16161608
for (var i = 0; i < 3; i += 1) {
16171609
await store.addMessage(messages[i]);
16181610
checkNotifiedOnce();
1619-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301 + i));
1611+
checkHasMessageIds(expected..add(301 + i));
16201612
}
16211613
});
16221614

@@ -1638,23 +1630,21 @@ void main() {
16381630
// Check filtering on fetchInitial…
16391631
await prepareMessages(foundOldest: false, messages: getMessages(201));
16401632
final expected = <int>[];
1641-
check(model.messages.map((m) => m.id))
1642-
.deepEquals(expected..addAll([201, 202]));
1633+
checkHasMessageIds(expected..addAll([201, 202]));
16431634

16441635
// … and on fetchOlder…
16451636
connection.prepare(json: olderResult(
16461637
anchor: 201, foundOldest: true, messages: getMessages(101)).toJson());
16471638
await model.fetchOlder();
16481639
checkNotified(count: 2);
1649-
check(model.messages.map((m) => m.id))
1650-
.deepEquals(expected..insertAll(0, [101, 102]));
1640+
checkHasMessageIds(expected..insertAll(0, [101, 102]));
16511641

16521642
// … and on MessageEvent.
16531643
final messages = getMessages(301);
16541644
for (var i = 0; i < 2; i += 1) {
16551645
await store.addMessage(messages[i]);
16561646
checkNotifiedOnce();
1657-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301 + i));
1647+
checkHasMessageIds(expected..add(301 + i));
16581648
}
16591649
});
16601650
});

0 commit comments

Comments
 (0)