@@ -508,15 +508,17 @@ void main() {
508
508
}
509
509
510
510
test ('TopicNarrow: topic recency > stream recency > DM recency '
511
- '> human vs. bot user' , () async {
511
+ '> human vs. bot user > alphabetical order ' , () async {
512
512
final users = [
513
- eg.user (),
513
+ eg.user (fullName : 'Z' ),
514
514
eg.user (),
515
515
eg.user (isBot: true ),
516
516
eg.user (),
517
517
eg.user (),
518
518
eg.user (),
519
519
eg.user (isBot: true ),
520
+ eg.user (fullName: 'ab' ),
521
+ eg.user (fullName: 'bc' ),
520
522
];
521
523
final stream = eg.stream ();
522
524
final narrow = TopicNarrow (stream.streamId, 'this' );
@@ -533,16 +535,20 @@ void main() {
533
535
checkPrecedes (narrow, users[2 ], users.skip (3 ));
534
536
checkRankEqual (narrow, [users[3 ], users[4 ]]);
535
537
checkPrecedes (narrow, users[5 ], users.skip (6 ));
538
+ checkPrecedes (narrow, users[7 ], users.skip (8 ));
536
539
});
537
540
538
- test ('ChannelNarrow: stream recency > DM recency > human vs. bot user' , () async {
541
+ test ('ChannelNarrow: stream recency > DM recency > human vs. bot user '
542
+ '> alphabetical order' , () async {
539
543
final users = [
540
- eg.user (isBot: true ),
544
+ eg.user (isBot: true , fullName : 'Z' ),
541
545
eg.user (),
542
546
eg.user (),
543
547
eg.user (),
544
548
eg.user (),
545
549
eg.user (isBot: true ),
550
+ eg.user (fullName: 'ab' , isBot: true ),
551
+ eg.user (fullName: 'bc' , isBot: true ),
546
552
];
547
553
final stream = eg.stream ();
548
554
final narrow = ChannelNarrow (stream.streamId);
@@ -557,17 +563,20 @@ void main() {
557
563
checkPrecedes (narrow, users[1 ], users.skip (2 ));
558
564
checkRankEqual (narrow, [users[2 ], users[3 ]]);
559
565
checkPrecedes (narrow, users[4 ], users.skip (5 ));
566
+ checkPrecedes (narrow, users[6 ], users.skip (7 ));
560
567
});
561
568
562
569
test ('DmNarrow: DM recency > this-conversation recency or stream recency '
563
- 'or human vs. bot user' , () async {
570
+ 'or human vs. bot user or alphabetical order ' , () async {
564
571
final users = [
565
- eg.user (isBot: true ),
572
+ eg.user (isBot: true , fullName : 'Z' ),
566
573
eg.user (),
567
574
eg.user (),
568
575
eg.user (),
569
576
eg.user (),
570
577
eg.user (isBot: true ),
578
+ eg.user (fullName: 'ab' ),
579
+ eg.user (fullName: 'bc' ),
571
580
];
572
581
await prepare (users: users, messages: [
573
582
eg.dmMessage (from: users[3 ], to: [eg.selfUser]),
@@ -588,6 +597,7 @@ void main() {
588
597
checkPrecedes (narrow, users[1 ], users.skip (3 ));
589
598
checkPrecedes (narrow, users[2 ], users.skip (3 ));
590
599
checkPrecedes (narrow, users[4 ], users.skip (5 ));
600
+ checkPrecedes (narrow, users[6 ], users.skip (7 ));
591
601
}
592
602
});
593
603
@@ -626,6 +636,8 @@ void main() {
626
636
eg.user (userId: 5 , fullName: 'User Five' ),
627
637
eg.user (userId: 6 , fullName: 'User Six' , isBot: true ),
628
638
eg.user (userId: 7 , fullName: 'User Seven' ),
639
+ eg.user (userId: 8 , fullName: 'User Xy' , isBot: true ),
640
+ eg.user (userId: 9 , fullName: 'User Xz' , isBot: true ),
629
641
];
630
642
631
643
await prepare (users: users, messages: [
@@ -642,8 +654,9 @@ void main() {
642
654
// 1. Users most recent in the current topic/stream.
643
655
// 2. Users most recent in the DM conversations.
644
656
// 3. Human vs. Bot users (human users come first).
657
+ // 4. Alphabetical order.
645
658
check (await getResults (topicNarrow, MentionAutocompleteQuery ('' )))
646
- .deepEquals ([1 , 5 , 4 , 2 , 3 , 7 , 6 ]);
659
+ .deepEquals ([1 , 5 , 4 , 2 , 7 , 3 , 6 , 8 , 9 ]);
647
660
648
661
// Check the ranking applies also to results filtered by a query.
649
662
check (await getResults (topicNarrow, MentionAutocompleteQuery ('t' )))
@@ -652,6 +665,8 @@ void main() {
652
665
.deepEquals ([5 , 4 ]);
653
666
check (await getResults (topicNarrow, MentionAutocompleteQuery ('s' )))
654
667
.deepEquals ([7 , 6 ]);
668
+ check (await getResults (topicNarrow, MentionAutocompleteQuery ('user x' )))
669
+ .deepEquals ([8 , 9 ]);
655
670
});
656
671
});
657
672
}
0 commit comments