Skip to content

Commit bb20554

Browse files
PIG208chrisbobbe
andcommitted
msglist: Use store.senderDisplayName for sender row
[chris: added tests] Co-authored-by: Chris Bobbe <[email protected]>
1 parent 245d9d9 commit bb20554

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

lib/widgets/message_list.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1446,7 +1446,7 @@ class _SenderRow extends StatelessWidget {
14461446
userId: message.senderId),
14471447
const SizedBox(width: 8),
14481448
Flexible(
1449-
child: Text(message.senderFullName, // TODO(#716): use `store.senderDisplayName`
1449+
child: Text(store.senderDisplayName(message),
14501450
style: TextStyle(
14511451
fontSize: 18,
14521452
height: (22 / 18),

test/widgets/message_list_test.dart

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1443,6 +1443,30 @@ void main() {
14431443
});
14441444

14451445
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+
14461470
testWidgets('Updates avatar on RealmUserUpdateEvent', (tester) async {
14471471
addTearDown(testBinding.reset);
14481472

0 commit comments

Comments
 (0)