Skip to content

Commit 18bb0c6

Browse files
committed
msglist test [nfc]: Make tests more explicit about the messages in list
We'll soon want to add some tests where this detail varies.
1 parent d46523e commit 18bb0c6

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

test/widgets/message_list_test.dart

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ void main() {
2828

2929
Future<void> setupMessageListPage(WidgetTester tester, {
3030
Narrow narrow = const AllMessagesNarrow(),
31+
bool foundOldest = true,
32+
int? messageCount,
33+
List<Message>? messages,
3134
}) async {
3235
addTearDown(TestZulipBinding.instance.reset);
3336
addTearDown(tester.view.resetPhysicalSize);
@@ -40,11 +43,12 @@ void main() {
4043

4144
// prepare message list data
4245
store.addUser(eg.selfUser);
43-
final List<StreamMessage> messages = List.generate(10, (index) {
46+
assert((messageCount == null) != (messages == null));
47+
messages ??= List.generate(messageCount!, (index) {
4448
return eg.streamMessage(id: index, sender: eg.selfUser);
4549
});
4650
connection.prepare(json:
47-
newestResult(foundOldest: true, messages: messages).toJson());
51+
newestResult(foundOldest: foundOldest, messages: messages).toJson());
4852

4953
await tester.pumpWidget(
5054
MaterialApp(
@@ -70,7 +74,7 @@ void main() {
7074
}
7175

7276
testWidgets('scrolling changes visibility', (WidgetTester tester) async {
73-
await setupMessageListPage(tester);
77+
await setupMessageListPage(tester, messageCount: 10);
7478

7579
final scrollController = findMessageListScrollController(tester)!;
7680

@@ -87,7 +91,7 @@ void main() {
8791
});
8892

8993
testWidgets('dimension updates changes visibility', (WidgetTester tester) async {
90-
await setupMessageListPage(tester);
94+
await setupMessageListPage(tester, messageCount: 10);
9195

9296
final scrollController = findMessageListScrollController(tester)!;
9397

@@ -108,7 +112,7 @@ void main() {
108112
});
109113

110114
testWidgets('button functionality', (WidgetTester tester) async {
111-
await setupMessageListPage(tester);
115+
await setupMessageListPage(tester, messageCount: 10);
112116

113117
final scrollController = findMessageListScrollController(tester)!;
114118

@@ -160,7 +164,7 @@ void main() {
160164
..statusCode = HttpStatus.ok
161165
..content = kSolidBlueAvatar;
162166

163-
await setupMessageListPage(tester);
167+
await setupMessageListPage(tester, messageCount: 10);
164168
checkResultForSender(eg.selfUser.avatarUrl);
165169

166170
await handleNewAvatarEventAndPump(tester, '/foo.png');

0 commit comments

Comments
 (0)