@@ -7,6 +7,7 @@ import 'package:flutter_checks/flutter_checks.dart';
7
7
import 'package:flutter_test/flutter_test.dart' ;
8
8
import 'package:zulip/api/model/model.dart' ;
9
9
import 'package:zulip/api/model/submessage.dart' ;
10
+ import 'package:zulip/model/localizations.dart' ;
10
11
import 'package:zulip/model/store.dart' ;
11
12
import 'package:zulip/widgets/poll.dart' ;
12
13
@@ -28,12 +29,14 @@ void main() {
28
29
WidgetTester tester,
29
30
SubmessageData ? submessageContent, {
30
31
Iterable <User >? users,
32
+ List <int >? mutedUserIds,
31
33
Iterable <(User , int )> voterIdxPairs = const [],
32
34
}) async {
33
35
addTearDown (testBinding.reset);
34
36
await testBinding.globalStore.add (eg.selfAccount, eg.initialSnapshot ());
35
37
store = await testBinding.globalStore.perAccount (eg.selfAccount.id);
36
38
await store.addUsers (users ?? [eg.selfUser, eg.otherUser]);
39
+ await store.muteUsers (mutedUserIds ?? []);
37
40
connection = store.connection as FakeApiConnection ;
38
41
39
42
message = eg.streamMessage (
@@ -96,6 +99,21 @@ void main() {
96
99
check (findTextAtRow ('100' , index: 0 )).findsOne ();
97
100
});
98
101
102
+ testWidgets ('muted voters' , (tester) async {
103
+ final user1 = eg.user (userId: 1 , fullName: 'User 1' );
104
+ final user2 = eg.user (userId: 2 , fullName: 'User 2' );
105
+ await preparePollWidget (tester, pollWidgetData,
106
+ users: [user1, user2],
107
+ mutedUserIds: [user2.userId],
108
+ voterIdxPairs: [(user1, 0 ), (user2, 0 ), (user2, 1 )]);
109
+
110
+ final localizations = GlobalLocalizations .zulipLocalizations;
111
+ check (findTextAtRow (
112
+ '(${store .userDisplayName (user1 .userId )}, ${localizations .mutedUser })' ,
113
+ index: 0 )).findsOne ();
114
+ check (findTextAtRow ('(${localizations .mutedUser })' , index: 1 )).findsOne ();
115
+ });
116
+
99
117
testWidgets ('show unknown voter' , (tester) async {
100
118
await preparePollWidget (tester, pollWidgetData,
101
119
users: [eg.selfUser], voterIdxPairs: [(eg.thirdUser, 1 )]);
0 commit comments