@@ -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