@@ -1443,6 +1443,30 @@ void main() {
1443
1443
});
1444
1444
1445
1445
group ('MessageWithPossibleSender' , () {
1446
+ testWidgets ('known user' , (tester) async {
1447
+ final user = eg.user (fullName: 'Old Name' );
1448
+ await setupMessageListPage (tester,
1449
+ messages: [eg.streamMessage (sender: user)],
1450
+ users: [user]);
1451
+
1452
+ check (find.widgetWithText (MessageWithPossibleSender , 'Old Name' )).findsOne ();
1453
+
1454
+ // If the user's name changes, the sender row should update.
1455
+ await store.handleEvent (RealmUserUpdateEvent (id: 1 ,
1456
+ userId: user.userId, fullName: 'New Name' ));
1457
+ await tester.pump ();
1458
+ check (find.widgetWithText (MessageWithPossibleSender , 'New Name' )).findsOne ();
1459
+ });
1460
+
1461
+ testWidgets ('unknown user' , (tester) async {
1462
+ final user = eg.user (fullName: 'Some User' );
1463
+ await setupMessageListPage (tester, messages: [eg.streamMessage (sender: user)]);
1464
+ check (store.getUser (user.userId)).isNull ();
1465
+
1466
+ // The sender row should fall back to the name in the message.
1467
+ check (find.widgetWithText (MessageWithPossibleSender , 'Some User' )).findsOne ();
1468
+ });
1469
+
1446
1470
testWidgets ('Updates avatar on RealmUserUpdateEvent' , (tester) async {
1447
1471
addTearDown (testBinding.reset);
1448
1472
0 commit comments