Skip to content

Commit 4772ff8

Browse files
Komal SinghKomal Singh
authored andcommitted
message_list: Add search button to combined feed
Fixes: #1854
1 parent 8159ca7 commit 4772ff8

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

lib/widgets/message_list.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,12 @@ abstract class _MessageListAppBar {
416416
List<Widget> actions = [];
417417
switch (narrow) {
418418
case CombinedFeedNarrow():
419+
actions.add(IconButton(
420+
icon: const Icon(ZulipIcons.search),
421+
tooltip: zulipLocalizations.searchMessagesPageTitle,
422+
onPressed: () => Navigator.push(context,
423+
MessageListPage.buildRoute(context: context,
424+
narrow: KeywordSearchNarrow('')))));
419425
case MentionsNarrow():
420426
case StarredMessagesNarrow():
421427
case KeywordSearchNarrow():

test/widgets/message_list_test.dart

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,35 @@ void main() {
363363

364364
check(find.text('DMs with Muted user, User 2, Muted user')).findsOne();
365365
});
366+
367+
testWidgets('search button on combined feed navigates to search page', (tester) async {
368+
final pushedRoutes = <Route<dynamic>>[];
369+
final testNavObserver = TestNavigatorObserver()
370+
..onPushed = (route, prevRoute) => pushedRoutes.add(route);
371+
372+
await setupMessageListPage(tester,
373+
narrow: const CombinedFeedNarrow(),
374+
messages: [],
375+
navObservers: [testNavObserver]);
376+
377+
final searchButtonFinder = find.descendant(
378+
of: find.byType(ZulipAppBar),
379+
matching: find.byIcon(ZulipIcons.search));
380+
check(searchButtonFinder).findsOne();
381+
382+
pushedRoutes.clear();
383+
384+
connection.prepare(json: eg.newestGetMessagesResult(
385+
foundOldest: true, messages: []).toJson());
386+
387+
await tester.tap(searchButtonFinder);
388+
await tester.pump();
389+
390+
check(pushedRoutes).single.isA<WidgetRoute>().page
391+
.isA<MessageListPage>()
392+
.initNarrow.equals(KeywordSearchNarrow(''));
393+
await tester.pump(Duration.zero);
394+
});
366395
});
367396

368397
group('no-messages placeholder', () {

0 commit comments

Comments
 (0)