@@ -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