@@ -116,6 +116,14 @@ void main() {
116
116
});
117
117
}
118
118
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
+
119
127
group ('fetchInitial' , () {
120
128
final someChannel = eg.stream ();
121
129
const someTopic = 'some topic' ;
@@ -439,10 +447,6 @@ void main() {
439
447
await setVisibility (policy);
440
448
}
441
449
442
- void checkHasMessageIds (Iterable <int > messageIds) {
443
- check (model.messages.map ((m) => m.id)).deepEquals (messageIds);
444
- }
445
-
446
450
test ('mute a visible topic' , () async {
447
451
await prepare (narrow: const CombinedFeedNarrow ());
448
452
await prepareMutes ();
@@ -643,11 +647,11 @@ void main() {
643
647
check (model).messages.length.equals (30 );
644
648
await store.handleEvent (eg.deleteMessageEvent (messagesToDelete));
645
649
checkNotifiedOnce ();
646
- check (model.messages. map ((message) => message.id)). deepEquals ([
650
+ checkHasMessages ([
647
651
...messages.sublist (0 , 2 ),
648
652
...messages.sublist (5 , 10 ),
649
653
...messages.sublist (15 ),
650
- ]. map ((message) => message.id) );
654
+ ]);
651
655
});
652
656
});
653
657
@@ -750,10 +754,6 @@ void main() {
750
754
final stream = eg.stream ();
751
755
final otherStream = eg.stream ();
752
756
753
- void checkHasMessages (Iterable <Message > messages) {
754
- check (model.messages.map ((e) => e.id)).deepEquals (messages.map ((e) => e.id));
755
- }
756
-
757
757
Future <void > prepareNarrow (Narrow narrow, List <Message >? messages) async {
758
758
await prepare (narrow: narrow);
759
759
for (final streamToAdd in [stream, otherStream]) {
@@ -1457,8 +1457,7 @@ void main() {
1457
1457
eg.dmMessage ( id: 205 , from: eg.otherUser, to: [eg.selfUser]),
1458
1458
]);
1459
1459
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 ]));
1462
1461
1463
1462
// … and on fetchOlder…
1464
1463
connection.prepare (json: olderResult (
@@ -1471,34 +1470,33 @@ void main() {
1471
1470
]).toJson ());
1472
1471
await model.fetchOlder ();
1473
1472
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 ]));
1476
1474
1477
1475
// … and on MessageEvent.
1478
1476
await store.addMessage (
1479
1477
eg.streamMessage (id: 301 , stream: stream1, topic: 'A' ));
1480
1478
checkNotifiedOnce ();
1481
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (301 ));
1479
+ checkHasMessageIds (expected..add (301 ));
1482
1480
1483
1481
await store.addMessage (
1484
1482
eg.streamMessage (id: 302 , stream: stream1, topic: 'B' ));
1485
1483
checkNotNotified ();
1486
- check (model.messages. map ((m) => m.id)). deepEquals (expected);
1484
+ checkHasMessageIds (expected);
1487
1485
1488
1486
await store.addMessage (
1489
1487
eg.streamMessage (id: 303 , stream: stream2, topic: 'C' ));
1490
1488
checkNotifiedOnce ();
1491
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (303 ));
1489
+ checkHasMessageIds (expected..add (303 ));
1492
1490
1493
1491
await store.addMessage (
1494
1492
eg.streamMessage (id: 304 , stream: stream2, topic: 'D' ));
1495
1493
checkNotNotified ();
1496
- check (model.messages. map ((m) => m.id)). deepEquals (expected);
1494
+ checkHasMessageIds (expected);
1497
1495
1498
1496
await store.addMessage (
1499
1497
eg.dmMessage (id: 305 , from: eg.otherUser, to: [eg.selfUser]));
1500
1498
checkNotifiedOnce ();
1501
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (305 ));
1499
+ checkHasMessageIds (expected..add (305 ));
1502
1500
});
1503
1501
1504
1502
test ('in ChannelNarrow' , () async {
@@ -1516,8 +1514,7 @@ void main() {
1516
1514
eg.streamMessage (id: 203 , stream: stream, topic: 'C' ),
1517
1515
]);
1518
1516
final expected = < int > [];
1519
- check (model.messages.map ((m) => m.id))
1520
- .deepEquals (expected..addAll ([201 , 202 ]));
1517
+ checkHasMessageIds (expected..addAll ([201 , 202 ]));
1521
1518
1522
1519
// … and on fetchOlder…
1523
1520
connection.prepare (json: olderResult (
@@ -1528,24 +1525,23 @@ void main() {
1528
1525
]).toJson ());
1529
1526
await model.fetchOlder ();
1530
1527
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 ]));
1533
1529
1534
1530
// … and on MessageEvent.
1535
1531
await store.addMessage (
1536
1532
eg.streamMessage (id: 301 , stream: stream, topic: 'A' ));
1537
1533
checkNotifiedOnce ();
1538
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (301 ));
1534
+ checkHasMessageIds (expected..add (301 ));
1539
1535
1540
1536
await store.addMessage (
1541
1537
eg.streamMessage (id: 302 , stream: stream, topic: 'B' ));
1542
1538
checkNotifiedOnce ();
1543
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (302 ));
1539
+ checkHasMessageIds (expected..add (302 ));
1544
1540
1545
1541
await store.addMessage (
1546
1542
eg.streamMessage (id: 303 , stream: stream, topic: 'C' ));
1547
1543
checkNotNotified ();
1548
- check (model.messages. map ((m) => m.id)). deepEquals (expected);
1544
+ checkHasMessageIds (expected);
1549
1545
});
1550
1546
1551
1547
test ('in TopicNarrow' , () async {
@@ -1560,8 +1556,7 @@ void main() {
1560
1556
eg.streamMessage (id: 201 , stream: stream, topic: 'A' ),
1561
1557
]);
1562
1558
final expected = < int > [];
1563
- check (model.messages.map ((m) => m.id))
1564
- .deepEquals (expected..addAll ([201 ]));
1559
+ checkHasMessageIds (expected..addAll ([201 ]));
1565
1560
1566
1561
// … and on fetchOlder…
1567
1562
connection.prepare (json: olderResult (
@@ -1570,14 +1565,13 @@ void main() {
1570
1565
]).toJson ());
1571
1566
await model.fetchOlder ();
1572
1567
checkNotified (count: 2 );
1573
- check (model.messages.map ((m) => m.id))
1574
- .deepEquals (expected..insertAll (0 , [101 ]));
1568
+ checkHasMessageIds (expected..insertAll (0 , [101 ]));
1575
1569
1576
1570
// … and on MessageEvent.
1577
1571
await store.addMessage (
1578
1572
eg.streamMessage (id: 301 , stream: stream, topic: 'A' ));
1579
1573
checkNotifiedOnce ();
1580
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (301 ));
1574
+ checkHasMessageIds (expected..add (301 ));
1581
1575
});
1582
1576
1583
1577
test ('in MentionsNarrow' , () async {
@@ -1600,23 +1594,21 @@ void main() {
1600
1594
// Check filtering on fetchInitial…
1601
1595
await prepareMessages (foundOldest: false , messages: getMessages (201 ));
1602
1596
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 ]));
1605
1598
1606
1599
// … and on fetchOlder…
1607
1600
connection.prepare (json: olderResult (
1608
1601
anchor: 201 , foundOldest: true , messages: getMessages (101 )).toJson ());
1609
1602
await model.fetchOlder ();
1610
1603
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 ]));
1613
1605
1614
1606
// … and on MessageEvent.
1615
1607
final messages = getMessages (301 );
1616
1608
for (var i = 0 ; i < 3 ; i += 1 ) {
1617
1609
await store.addMessage (messages[i]);
1618
1610
checkNotifiedOnce ();
1619
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (301 + i));
1611
+ checkHasMessageIds (expected..add (301 + i));
1620
1612
}
1621
1613
});
1622
1614
@@ -1638,23 +1630,21 @@ void main() {
1638
1630
// Check filtering on fetchInitial…
1639
1631
await prepareMessages (foundOldest: false , messages: getMessages (201 ));
1640
1632
final expected = < int > [];
1641
- check (model.messages.map ((m) => m.id))
1642
- .deepEquals (expected..addAll ([201 , 202 ]));
1633
+ checkHasMessageIds (expected..addAll ([201 , 202 ]));
1643
1634
1644
1635
// … and on fetchOlder…
1645
1636
connection.prepare (json: olderResult (
1646
1637
anchor: 201 , foundOldest: true , messages: getMessages (101 )).toJson ());
1647
1638
await model.fetchOlder ();
1648
1639
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 ]));
1651
1641
1652
1642
// … and on MessageEvent.
1653
1643
final messages = getMessages (301 );
1654
1644
for (var i = 0 ; i < 2 ; i += 1 ) {
1655
1645
await store.addMessage (messages[i]);
1656
1646
checkNotifiedOnce ();
1657
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (301 + i));
1647
+ checkHasMessageIds (expected..add (301 + i));
1658
1648
}
1659
1649
});
1660
1650
});
0 commit comments