@@ -114,6 +114,14 @@ void main() {
114
114
});
115
115
}
116
116
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
+
117
125
group ('fetchInitial' , () {
118
126
final someChannel = eg.stream ();
119
127
const someTopic = 'some topic' ;
@@ -435,10 +443,6 @@ void main() {
435
443
await setVisibility (policy);
436
444
}
437
445
438
- void checkHasMessageIds (Iterable <int > messageIds) {
439
- check (model.messages.map ((m) => m.id)).deepEquals (messageIds);
440
- }
441
-
442
446
test ('mute a visible topic' , () async {
443
447
await prepare (narrow: const CombinedFeedNarrow ());
444
448
await prepareMutes ();
@@ -639,11 +643,11 @@ void main() {
639
643
check (model).messages.length.equals (30 );
640
644
await store.handleEvent (eg.deleteMessageEvent (messagesToDelete));
641
645
checkNotifiedOnce ();
642
- check (model.messages. map ((message) => message.id)). deepEquals ([
646
+ checkHasMessages ([
643
647
...messages.sublist (0 , 2 ),
644
648
...messages.sublist (5 , 10 ),
645
649
...messages.sublist (15 ),
646
- ]. map ((message) => message.id) );
650
+ ]);
647
651
});
648
652
});
649
653
@@ -746,10 +750,6 @@ void main() {
746
750
final stream = eg.stream ();
747
751
final otherStream = eg.stream ();
748
752
749
- void checkHasMessages (Iterable <Message > messages) {
750
- check (model.messages.map ((e) => e.id)).deepEquals (messages.map ((e) => e.id));
751
- }
752
-
753
753
Future <void > prepareNarrow (Narrow narrow, List <Message >? messages) async {
754
754
await prepare (narrow: narrow);
755
755
for (final streamToAdd in [stream, otherStream]) {
@@ -1453,8 +1453,7 @@ void main() {
1453
1453
eg.dmMessage ( id: 205 , from: eg.otherUser, to: [eg.selfUser]),
1454
1454
]);
1455
1455
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 ]));
1458
1457
1459
1458
// … and on fetchOlder…
1460
1459
connection.prepare (json: olderResult (
@@ -1467,34 +1466,33 @@ void main() {
1467
1466
]).toJson ());
1468
1467
await model.fetchOlder ();
1469
1468
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 ]));
1472
1470
1473
1471
// … and on MessageEvent.
1474
1472
await store.addMessage (
1475
1473
eg.streamMessage (id: 301 , stream: stream1, topic: 'A' ));
1476
1474
checkNotifiedOnce ();
1477
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (301 ));
1475
+ checkHasMessageIds (expected..add (301 ));
1478
1476
1479
1477
await store.addMessage (
1480
1478
eg.streamMessage (id: 302 , stream: stream1, topic: 'B' ));
1481
1479
checkNotNotified ();
1482
- check (model.messages. map ((m) => m.id)). deepEquals (expected);
1480
+ checkHasMessageIds (expected);
1483
1481
1484
1482
await store.addMessage (
1485
1483
eg.streamMessage (id: 303 , stream: stream2, topic: 'C' ));
1486
1484
checkNotifiedOnce ();
1487
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (303 ));
1485
+ checkHasMessageIds (expected..add (303 ));
1488
1486
1489
1487
await store.addMessage (
1490
1488
eg.streamMessage (id: 304 , stream: stream2, topic: 'D' ));
1491
1489
checkNotNotified ();
1492
- check (model.messages. map ((m) => m.id)). deepEquals (expected);
1490
+ checkHasMessageIds (expected);
1493
1491
1494
1492
await store.addMessage (
1495
1493
eg.dmMessage (id: 305 , from: eg.otherUser, to: [eg.selfUser]));
1496
1494
checkNotifiedOnce ();
1497
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (305 ));
1495
+ checkHasMessageIds (expected..add (305 ));
1498
1496
});
1499
1497
1500
1498
test ('in ChannelNarrow' , () async {
@@ -1512,8 +1510,7 @@ void main() {
1512
1510
eg.streamMessage (id: 203 , stream: stream, topic: 'C' ),
1513
1511
]);
1514
1512
final expected = < int > [];
1515
- check (model.messages.map ((m) => m.id))
1516
- .deepEquals (expected..addAll ([201 , 202 ]));
1513
+ checkHasMessageIds (expected..addAll ([201 , 202 ]));
1517
1514
1518
1515
// … and on fetchOlder…
1519
1516
connection.prepare (json: olderResult (
@@ -1524,24 +1521,23 @@ void main() {
1524
1521
]).toJson ());
1525
1522
await model.fetchOlder ();
1526
1523
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 ]));
1529
1525
1530
1526
// … and on MessageEvent.
1531
1527
await store.addMessage (
1532
1528
eg.streamMessage (id: 301 , stream: stream, topic: 'A' ));
1533
1529
checkNotifiedOnce ();
1534
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (301 ));
1530
+ checkHasMessageIds (expected..add (301 ));
1535
1531
1536
1532
await store.addMessage (
1537
1533
eg.streamMessage (id: 302 , stream: stream, topic: 'B' ));
1538
1534
checkNotifiedOnce ();
1539
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (302 ));
1535
+ checkHasMessageIds (expected..add (302 ));
1540
1536
1541
1537
await store.addMessage (
1542
1538
eg.streamMessage (id: 303 , stream: stream, topic: 'C' ));
1543
1539
checkNotNotified ();
1544
- check (model.messages. map ((m) => m.id)). deepEquals (expected);
1540
+ checkHasMessageIds (expected);
1545
1541
});
1546
1542
1547
1543
test ('in TopicNarrow' , () async {
@@ -1556,8 +1552,7 @@ void main() {
1556
1552
eg.streamMessage (id: 201 , stream: stream, topic: 'A' ),
1557
1553
]);
1558
1554
final expected = < int > [];
1559
- check (model.messages.map ((m) => m.id))
1560
- .deepEquals (expected..addAll ([201 ]));
1555
+ checkHasMessageIds (expected..addAll ([201 ]));
1561
1556
1562
1557
// … and on fetchOlder…
1563
1558
connection.prepare (json: olderResult (
@@ -1566,14 +1561,13 @@ void main() {
1566
1561
]).toJson ());
1567
1562
await model.fetchOlder ();
1568
1563
checkNotified (count: 2 );
1569
- check (model.messages.map ((m) => m.id))
1570
- .deepEquals (expected..insertAll (0 , [101 ]));
1564
+ checkHasMessageIds (expected..insertAll (0 , [101 ]));
1571
1565
1572
1566
// … and on MessageEvent.
1573
1567
await store.addMessage (
1574
1568
eg.streamMessage (id: 301 , stream: stream, topic: 'A' ));
1575
1569
checkNotifiedOnce ();
1576
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (301 ));
1570
+ checkHasMessageIds (expected..add (301 ));
1577
1571
});
1578
1572
1579
1573
test ('in MentionsNarrow' , () async {
@@ -1596,23 +1590,21 @@ void main() {
1596
1590
// Check filtering on fetchInitial…
1597
1591
await prepareMessages (foundOldest: false , messages: getMessages (201 ));
1598
1592
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 ]));
1601
1594
1602
1595
// … and on fetchOlder…
1603
1596
connection.prepare (json: olderResult (
1604
1597
anchor: 201 , foundOldest: true , messages: getMessages (101 )).toJson ());
1605
1598
await model.fetchOlder ();
1606
1599
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 ]));
1609
1601
1610
1602
// … and on MessageEvent.
1611
1603
final messages = getMessages (301 );
1612
1604
for (var i = 0 ; i < 3 ; i += 1 ) {
1613
1605
await store.addMessage (messages[i]);
1614
1606
checkNotifiedOnce ();
1615
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (301 + i));
1607
+ checkHasMessageIds (expected..add (301 + i));
1616
1608
}
1617
1609
});
1618
1610
@@ -1634,23 +1626,21 @@ void main() {
1634
1626
// Check filtering on fetchInitial…
1635
1627
await prepareMessages (foundOldest: false , messages: getMessages (201 ));
1636
1628
final expected = < int > [];
1637
- check (model.messages.map ((m) => m.id))
1638
- .deepEquals (expected..addAll ([201 , 202 ]));
1629
+ checkHasMessageIds (expected..addAll ([201 , 202 ]));
1639
1630
1640
1631
// … and on fetchOlder…
1641
1632
connection.prepare (json: olderResult (
1642
1633
anchor: 201 , foundOldest: true , messages: getMessages (101 )).toJson ());
1643
1634
await model.fetchOlder ();
1644
1635
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 ]));
1647
1637
1648
1638
// … and on MessageEvent.
1649
1639
final messages = getMessages (301 );
1650
1640
for (var i = 0 ; i < 2 ; i += 1 ) {
1651
1641
await store.addMessage (messages[i]);
1652
1642
checkNotifiedOnce ();
1653
- check (model.messages. map ((m) => m.id)). deepEquals (expected..add (301 + i));
1643
+ checkHasMessageIds (expected..add (301 + i));
1654
1644
}
1655
1645
});
1656
1646
});
0 commit comments