@@ -231,8 +231,6 @@ void main() {
231231      check (text).style.isNotNull ().color.isNotNull ().isSameColorAs (expectedTextColor);
232232    });
233233
234-     // TODO test that tapping a conversation row opens the message list 
235-     //   for the conversation 
236234    group ('navigation' , () {
237235      testWidgets ('tapping a topic row opens the message list' , (tester) async  {
238236          final  stream =  eg.stream ();
@@ -268,6 +266,35 @@ void main() {
268266
269267      });
270268
269+       testWidgets ('tapping a DM row opens the message list' , (tester) async  {
270+         final  otherUser =  eg.otherUser;
271+         final  message =  eg.dmMessage (from:  otherUser, to:  [eg.selfUser]);
272+ 
273+         await  setupPage (tester,
274+             users:  [eg.selfUser, otherUser],
275+             unreadMessages:  [message]);
276+ 
277+         final  connection =  store.connection as  FakeApiConnection ;
278+ 
279+         connection.prepare (
280+           json:  eg.newestGetMessagesResult (messages:  [
281+             eg.dmMessage (from:  otherUser, to:  [eg.selfUser], flags:  [MessageFlag .read]),
282+           ], foundOldest:  false ).toJson (),
283+         );
284+ 
285+         connection.prepare (
286+           json:  eg.newestGetMessagesResult (messages:  [], foundOldest:  true ).toJson (),
287+         );
288+ 
289+         await  tester.tap (find.text (otherUser.fullName));
290+         await  tester.pumpAndSettle ();
291+ 
292+         check (find.byType (HomePage )).findsNothing ();
293+         check (find.byType (MessageListPage )).findsOne ();
294+ 
295+         check (find.text (otherUser.fullName)).findsAny ();
296+       });
297+ 
271298    });
272299
273300    // Tests for the topic action sheet are in test/widgets/action_sheet_test.dart. 
0 commit comments