Skip to content

Commit d51d274

Browse files
committed
nav: Add a button for MentionsNarrow.
Signed-off-by: Zixuan James Li <[email protected]>
1 parent cd4ae57 commit d51d274

File tree

2 files changed

+29
-23
lines changed

2 files changed

+29
-23
lines changed

lib/widgets/app.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,12 @@ class HomePage extends StatelessWidget {
276276
narrow: const CombinedFeedNarrow())),
277277
child: Text(zulipLocalizations.combinedFeedPageTitle)),
278278
const SizedBox(height: 16),
279+
ElevatedButton(
280+
onPressed: () => Navigator.push(context,
281+
MessageListPage.buildRoute(context: context,
282+
narrow: const MentionsNarrow())),
283+
child: Text(zulipLocalizations.mentionsPageTitle)),
284+
const SizedBox(height: 16),
279285
ElevatedButton(
280286
onPressed: () => Navigator.push(context,
281287
InboxPage.buildRoute(context: context)),

test/widgets/message_list_test.dart

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -950,29 +950,6 @@ void main() {
950950
check(store.unreads).oldUnreadsMissing.isTrue();
951951
});
952952

953-
testWidgets('MentionsNarrow on legacy server', (WidgetTester tester) async {
954-
await setupMessageListPage(tester,
955-
narrow: const MentionsNarrow(),
956-
messages: [eg.streamMessage(flags: [MessageFlag.mentioned])],
957-
unreadMsgs: eg.unreadMsgs(mentions: [message.id]),
958-
);
959-
check(isMarkAsReadButtonVisible(tester)).isTrue();
960-
961-
connection.zulipFeatureLevel = 154;
962-
connection.prepare(json:
963-
UpdateMessageFlagsResult(messages: [message.id]).toJson());
964-
await tester.tap(find.byType(MarkAsReadWidget));
965-
check(connection.lastRequest).isA<http.Request>()
966-
..method.equals('POST')
967-
..url.path.equals('/api/v1/messages/flags')
968-
..bodyFields.deepEquals({
969-
'messages': jsonEncode([message.id]),
970-
'op': 'add',
971-
'flag': 'read',
972-
});
973-
await tester.pumpAndSettle();
974-
});
975-
976953
testWidgets('StreamNarrow on legacy server', (WidgetTester tester) async {
977954
final narrow = StreamNarrow(message.streamId);
978955
await setupMessageListPage(tester,
@@ -1039,6 +1016,29 @@ void main() {
10391016
await tester.pumpAndSettle(); // process pending timers
10401017
});
10411018

1019+
testWidgets('MentionsNarrow on legacy server', (WidgetTester tester) async {
1020+
await setupMessageListPage(tester,
1021+
narrow: const MentionsNarrow(),
1022+
messages: [eg.streamMessage(flags: [MessageFlag.mentioned])],
1023+
unreadMsgs: eg.unreadMsgs(mentions: [message.id]),
1024+
);
1025+
check(isMarkAsReadButtonVisible(tester)).isTrue();
1026+
1027+
connection.zulipFeatureLevel = 154;
1028+
connection.prepare(json:
1029+
UpdateMessageFlagsResult(messages: [message.id]).toJson());
1030+
await tester.tap(find.byType(MarkAsReadWidget));
1031+
check(connection.lastRequest).isA<http.Request>()
1032+
..method.equals('POST')
1033+
..url.path.equals('/api/v1/messages/flags')
1034+
..bodyFields.deepEquals({
1035+
'messages': jsonEncode([message.id]),
1036+
'op': 'add',
1037+
'flag': 'read',
1038+
});
1039+
await tester.pumpAndSettle();
1040+
});
1041+
10421042
testWidgets('catch-all api errors', (WidgetTester tester) async {
10431043
final zulipLocalizations = GlobalLocalizations.zulipLocalizations;
10441044
const narrow = CombinedFeedNarrow();

0 commit comments

Comments
 (0)