@@ -1412,6 +1412,30 @@ void main() {
1412
1412
});
1413
1413
1414
1414
group ('MessageWithPossibleSender' , () {
1415
+ testWidgets ('known user' , (tester) async {
1416
+ final user = eg.user (fullName: 'Old Name' );
1417
+ await setupMessageListPage (tester,
1418
+ messages: [eg.streamMessage (sender: user)],
1419
+ users: [user]);
1420
+
1421
+ check (find.widgetWithText (MessageWithPossibleSender , 'Old Name' )).findsOne ();
1422
+
1423
+ // If the user's name changes, the sender row should update.
1424
+ await store.handleEvent (RealmUserUpdateEvent (id: 1 ,
1425
+ userId: user.userId, fullName: 'New Name' ));
1426
+ await tester.pump ();
1427
+ check (find.widgetWithText (MessageWithPossibleSender , 'New Name' )).findsOne ();
1428
+ });
1429
+
1430
+ testWidgets ('unknown user' , (tester) async {
1431
+ final user = eg.user (fullName: 'Some User' );
1432
+ await setupMessageListPage (tester, messages: [eg.streamMessage (sender: user)]);
1433
+ check (store.getUser (user.userId)).isNull ();
1434
+
1435
+ // The sender row should fall back to the name in the message.
1436
+ check (find.widgetWithText (MessageWithPossibleSender , 'Some User' )).findsOne ();
1437
+ });
1438
+
1415
1439
testWidgets ('Updates avatar on RealmUserUpdateEvent' , (tester) async {
1416
1440
addTearDown (testBinding.reset);
1417
1441
0 commit comments