Skip to content

Commit 8322f8a

Browse files
committed
msglist test [nfc]: Use checkHasMessages/MessageIds helpers throughout
1 parent f4b6e41 commit 8322f8a

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
@@ -114,6 +114,14 @@ void main() {
114114
});
115115
}
116116

117+
void checkHasMessageIds(Iterable<int> messageIds) {
118+
check(model.messages.map((m) => m.id)).deepEquals(messageIds);
119+
}
120+
121+
void checkHasMessages(Iterable<Message> messages) {
122+
checkHasMessageIds(messages.map((e) => e.id));
123+
}
124+
117125
group('fetchInitial', () {
118126
final someChannel = eg.stream();
119127
const someTopic = 'some topic';
@@ -435,10 +443,6 @@ void main() {
435443
await setVisibility(policy);
436444
}
437445

438-
void checkHasMessageIds(Iterable<int> messageIds) {
439-
check(model.messages.map((m) => m.id)).deepEquals(messageIds);
440-
}
441-
442446
test('mute a visible topic', () async {
443447
await prepare(narrow: const CombinedFeedNarrow());
444448
await prepareMutes();
@@ -639,11 +643,11 @@ void main() {
639643
check(model).messages.length.equals(30);
640644
await store.handleEvent(eg.deleteMessageEvent(messagesToDelete));
641645
checkNotifiedOnce();
642-
check(model.messages.map((message) => message.id)).deepEquals([
646+
checkHasMessages([
643647
...messages.sublist(0, 2),
644648
...messages.sublist(5, 10),
645649
...messages.sublist(15),
646-
].map((message) => message.id));
650+
]);
647651
});
648652
});
649653

@@ -746,10 +750,6 @@ void main() {
746750
final stream = eg.stream();
747751
final otherStream = eg.stream();
748752

749-
void checkHasMessages(Iterable<Message> messages) {
750-
check(model.messages.map((e) => e.id)).deepEquals(messages.map((e) => e.id));
751-
}
752-
753753
Future<void> prepareNarrow(Narrow narrow, List<Message>? messages) async {
754754
await prepare(narrow: narrow);
755755
for (final streamToAdd in [stream, otherStream]) {
@@ -1453,8 +1453,7 @@ void main() {
14531453
eg.dmMessage( id: 205, from: eg.otherUser, to: [eg.selfUser]),
14541454
]);
14551455
final expected = <int>[];
1456-
check(model.messages.map((m) => m.id))
1457-
.deepEquals(expected..addAll([201, 203, 205]));
1456+
checkHasMessageIds(expected..addAll([201, 203, 205]));
14581457

14591458
// … and on fetchOlder…
14601459
connection.prepare(json: olderResult(
@@ -1467,34 +1466,33 @@ void main() {
14671466
]).toJson());
14681467
await model.fetchOlder();
14691468
checkNotified(count: 2);
1470-
check(model.messages.map((m) => m.id))
1471-
.deepEquals(expected..insertAll(0, [101, 103, 105]));
1469+
checkHasMessageIds(expected..insertAll(0, [101, 103, 105]));
14721470

14731471
// … and on MessageEvent.
14741472
await store.addMessage(
14751473
eg.streamMessage(id: 301, stream: stream1, topic: 'A'));
14761474
checkNotifiedOnce();
1477-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301));
1475+
checkHasMessageIds(expected..add(301));
14781476

14791477
await store.addMessage(
14801478
eg.streamMessage(id: 302, stream: stream1, topic: 'B'));
14811479
checkNotNotified();
1482-
check(model.messages.map((m) => m.id)).deepEquals(expected);
1480+
checkHasMessageIds(expected);
14831481

14841482
await store.addMessage(
14851483
eg.streamMessage(id: 303, stream: stream2, topic: 'C'));
14861484
checkNotifiedOnce();
1487-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(303));
1485+
checkHasMessageIds(expected..add(303));
14881486

14891487
await store.addMessage(
14901488
eg.streamMessage(id: 304, stream: stream2, topic: 'D'));
14911489
checkNotNotified();
1492-
check(model.messages.map((m) => m.id)).deepEquals(expected);
1490+
checkHasMessageIds(expected);
14931491

14941492
await store.addMessage(
14951493
eg.dmMessage(id: 305, from: eg.otherUser, to: [eg.selfUser]));
14961494
checkNotifiedOnce();
1497-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(305));
1495+
checkHasMessageIds(expected..add(305));
14981496
});
14991497

15001498
test('in ChannelNarrow', () async {
@@ -1512,8 +1510,7 @@ void main() {
15121510
eg.streamMessage(id: 203, stream: stream, topic: 'C'),
15131511
]);
15141512
final expected = <int>[];
1515-
check(model.messages.map((m) => m.id))
1516-
.deepEquals(expected..addAll([201, 202]));
1513+
checkHasMessageIds(expected..addAll([201, 202]));
15171514

15181515
// … and on fetchOlder…
15191516
connection.prepare(json: olderResult(
@@ -1524,24 +1521,23 @@ void main() {
15241521
]).toJson());
15251522
await model.fetchOlder();
15261523
checkNotified(count: 2);
1527-
check(model.messages.map((m) => m.id))
1528-
.deepEquals(expected..insertAll(0, [101, 102]));
1524+
checkHasMessageIds(expected..insertAll(0, [101, 102]));
15291525

15301526
// … and on MessageEvent.
15311527
await store.addMessage(
15321528
eg.streamMessage(id: 301, stream: stream, topic: 'A'));
15331529
checkNotifiedOnce();
1534-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301));
1530+
checkHasMessageIds(expected..add(301));
15351531

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

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

15471543
test('in TopicNarrow', () async {
@@ -1556,8 +1552,7 @@ void main() {
15561552
eg.streamMessage(id: 201, stream: stream, topic: 'A'),
15571553
]);
15581554
final expected = <int>[];
1559-
check(model.messages.map((m) => m.id))
1560-
.deepEquals(expected..addAll([201]));
1555+
checkHasMessageIds(expected..addAll([201]));
15611556

15621557
// … and on fetchOlder…
15631558
connection.prepare(json: olderResult(
@@ -1566,14 +1561,13 @@ void main() {
15661561
]).toJson());
15671562
await model.fetchOlder();
15681563
checkNotified(count: 2);
1569-
check(model.messages.map((m) => m.id))
1570-
.deepEquals(expected..insertAll(0, [101]));
1564+
checkHasMessageIds(expected..insertAll(0, [101]));
15711565

15721566
// … and on MessageEvent.
15731567
await store.addMessage(
15741568
eg.streamMessage(id: 301, stream: stream, topic: 'A'));
15751569
checkNotifiedOnce();
1576-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301));
1570+
checkHasMessageIds(expected..add(301));
15771571
});
15781572

15791573
test('in MentionsNarrow', () async {
@@ -1596,23 +1590,21 @@ void main() {
15961590
// Check filtering on fetchInitial…
15971591
await prepareMessages(foundOldest: false, messages: getMessages(201));
15981592
final expected = <int>[];
1599-
check(model.messages.map((m) => m.id))
1600-
.deepEquals(expected..addAll([201, 202, 203]));
1593+
checkHasMessageIds(expected..addAll([201, 202, 203]));
16011594

16021595
// … and on fetchOlder…
16031596
connection.prepare(json: olderResult(
16041597
anchor: 201, foundOldest: true, messages: getMessages(101)).toJson());
16051598
await model.fetchOlder();
16061599
checkNotified(count: 2);
1607-
check(model.messages.map((m) => m.id))
1608-
.deepEquals(expected..insertAll(0, [101, 102, 103]));
1600+
checkHasMessageIds(expected..insertAll(0, [101, 102, 103]));
16091601

16101602
// … and on MessageEvent.
16111603
final messages = getMessages(301);
16121604
for (var i = 0; i < 3; i += 1) {
16131605
await store.addMessage(messages[i]);
16141606
checkNotifiedOnce();
1615-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301 + i));
1607+
checkHasMessageIds(expected..add(301 + i));
16161608
}
16171609
});
16181610

@@ -1634,23 +1626,21 @@ void main() {
16341626
// Check filtering on fetchInitial…
16351627
await prepareMessages(foundOldest: false, messages: getMessages(201));
16361628
final expected = <int>[];
1637-
check(model.messages.map((m) => m.id))
1638-
.deepEquals(expected..addAll([201, 202]));
1629+
checkHasMessageIds(expected..addAll([201, 202]));
16391630

16401631
// … and on fetchOlder…
16411632
connection.prepare(json: olderResult(
16421633
anchor: 201, foundOldest: true, messages: getMessages(101)).toJson());
16431634
await model.fetchOlder();
16441635
checkNotified(count: 2);
1645-
check(model.messages.map((m) => m.id))
1646-
.deepEquals(expected..insertAll(0, [101, 102]));
1636+
checkHasMessageIds(expected..insertAll(0, [101, 102]));
16471637

16481638
// … and on MessageEvent.
16491639
final messages = getMessages(301);
16501640
for (var i = 0; i < 2; i += 1) {
16511641
await store.addMessage(messages[i]);
16521642
checkNotifiedOnce();
1653-
check(model.messages.map((m) => m.id)).deepEquals(expected..add(301 + i));
1643+
checkHasMessageIds(expected..add(301 + i));
16541644
}
16551645
});
16561646
});

0 commit comments

Comments
 (0)