Skip to content

Commit 1c077cc

Browse files
committed
test [nfc]: Switch from store.handleEvent to store.addMessage(s)
This leaves some tests that handle MessageEvent untouched, as they conceptually aren't just setting up the store, and the helper adds a layer of indirection (or they simply don't have access to a PerAccountStore).
1 parent 450d476 commit 1c077cc

6 files changed

+14
-25
lines changed

test/model/message_list_test.dart

+8-13
Original file line numberDiff line numberDiff line change
@@ -367,8 +367,7 @@ void main() {
367367
List.generate(30, (i) => eg.streamMessage(stream: stream)));
368368

369369
check(model).messages.length.equals(30);
370-
await store.handleEvent(MessageEvent(id: 0,
371-
message: eg.streamMessage(stream: stream)));
370+
await store.addMessage(eg.streamMessage(stream: stream));
372371
checkNotifiedOnce();
373372
check(model).messages.length.equals(31);
374373
});
@@ -381,17 +380,15 @@ void main() {
381380

382381
check(model).messages.length.equals(30);
383382
final otherStream = eg.stream();
384-
await store.handleEvent(MessageEvent(id: 0,
385-
message: eg.streamMessage(stream: otherStream)));
383+
await store.addMessage(eg.streamMessage(stream: otherStream));
386384
checkNotNotified();
387385
check(model).messages.length.equals(30);
388386
});
389387

390388
test('MessageEvent, before fetch', () async {
391389
final stream = eg.stream();
392390
await prepare(narrow: ChannelNarrow(stream.streamId));
393-
await store.handleEvent(MessageEvent(id: 0,
394-
message: eg.streamMessage(stream: stream)));
391+
await store.addMessage(eg.streamMessage(stream: stream));
395392
checkNotNotified();
396393
check(model).fetched.isFalse();
397394
});
@@ -1314,7 +1311,7 @@ void main() {
13141311
}
13151312

13161313
final message = eg.streamMessage(stream: stream, topic: 'hello');
1317-
await store.handleEvent(MessageEvent(id: 0, message: message));
1314+
await store.addMessage(message);
13181315

13191316
await store.handleEvent(
13201317
eg.reactionEvent(eg.unicodeEmojiReaction, ReactionOp.add, message.id));
@@ -1396,8 +1393,7 @@ void main() {
13961393
await prepare(narrow: ChannelNarrow(stream.streamId));
13971394
await prepareMessages(foundOldest: true, messages:
13981395
List.generate(30, (i) => eg.streamMessage(stream: stream)));
1399-
await store.handleEvent(MessageEvent(id: 0,
1400-
message: eg.streamMessage(stream: stream)));
1396+
await store.addMessage(eg.streamMessage(stream: stream));
14011397
checkNotifiedOnce();
14021398
check(model).messages.length.equals(31);
14031399

@@ -1644,8 +1640,7 @@ void main() {
16441640
await prepare(narrow: ChannelNarrow(stream.streamId));
16451641
await prepareMessages(foundOldest: true, messages: []);
16461642

1647-
await store.handleEvent(MessageEvent(id: 0,
1648-
message: eg.streamMessage(stream: stream)));
1643+
await store.addMessage(eg.streamMessage(stream: stream));
16491644
// Each [checkNotifiedOnce] call ensures there's been a [checkInvariants]
16501645
// call, where the [ContentNode] gets checked. The additional checks to
16511646
// make this test explicit.
@@ -1659,13 +1654,13 @@ void main() {
16591654
await prepare(narrow: ChannelNarrow(stream.streamId));
16601655
await prepareMessages(foundOldest: true, messages: []);
16611656

1662-
await store.handleEvent(MessageEvent(id: 0, message: eg.streamMessage(
1657+
await store.addMessage(eg.streamMessage(
16631658
stream: stream,
16641659
sender: eg.selfUser,
16651660
submessages: [
16661661
eg.submessage(senderId: eg.selfUser.userId,
16671662
content: eg.pollWidgetData(question: 'question', options: ['A'])),
1668-
])));
1663+
]));
16691664
// Each [checkNotifiedOnce] call ensures there's been a [checkInvariants]
16701665
// call, where the value of the [Poll] gets checked. The additional
16711666
// checks make this test explicit.

test/model/message_test.dart

+1-3
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,7 @@ void main() {
7171
}
7272

7373
Future<void> addMessages(Iterable<Message> messages) async {
74-
for (final m in messages) {
75-
await store.handleEvent(MessageEvent(id: 0, message: m));
76-
}
74+
await store.addMessages(messages);
7775
checkNotified(count: messageList.fetched ? messages.length : 0);
7876
}
7977

test/widgets/home_test.dart

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import 'package:checks/checks.dart';
22
import 'package:flutter/material.dart';
33
import 'package:flutter_checks/flutter_checks.dart';
44
import 'package:flutter_test/flutter_test.dart';
5-
import 'package:zulip/api/model/events.dart';
65
import 'package:zulip/model/actions.dart';
76
import 'package:zulip/model/narrow.dart';
87
import 'package:zulip/model/store.dart';
@@ -72,8 +71,8 @@ void main () {
7271
testWidgets('preserve states when switching between views', (tester) async {
7372
await prepare(tester);
7473
await store.addUser(eg.otherUser);
75-
await store.handleEvent(MessageEvent(
76-
id: 0, message: eg.dmMessage(from: eg.otherUser, to: [eg.selfUser])));
74+
await store.addMessage(
75+
eg.dmMessage(from: eg.otherUser, to: [eg.selfUser]));
7776
await tester.pump();
7877

7978
check(find.byIcon(ZulipIcons.arrow_down)).findsExactly(2);

test/widgets/inbox_test.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ void main() {
7070

7171
for (final message in unreadMessages) {
7272
assert(!message.flags.contains(MessageFlag.read));
73-
await store.handleEvent(MessageEvent(id: 1, message: message));
73+
await store.addMessage(message);
7474
}
7575

7676
await tester.pumpWidget(TestZulipApp(

test/widgets/poll_test.dart

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import 'package:http/http.dart' as http;
55
import 'package:flutter/widgets.dart';
66
import 'package:flutter_checks/flutter_checks.dart';
77
import 'package:flutter_test/flutter_test.dart';
8-
import 'package:zulip/api/model/events.dart';
98
import 'package:zulip/api/model/model.dart';
109
import 'package:zulip/api/model/submessage.dart';
1110
import 'package:zulip/model/store.dart';
@@ -40,7 +39,7 @@ void main() {
4039
message = eg.streamMessage(
4140
sender: eg.selfUser,
4241
submessages: [eg.submessage(content: submessageContent)]);
43-
await store.handleEvent(MessageEvent(id: 0, message: message));
42+
await store.addMessage(message);
4443
await tester.pumpWidget(TestZulipApp(accountId: eg.selfAccount.id,
4544
child: PollWidget(messageId: message.id, poll: message.poll!)));
4645
await tester.pump();

test/widgets/recent_dm_conversations_test.dart

+1-3
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ Future<void> setupPage(WidgetTester tester, {
3838
await store.addUser(user);
3939
}
4040

41-
for (final dmMessage in dmMessages) {
42-
await store.handleEvent(MessageEvent(id: 1, message: dmMessage));
43-
}
41+
await store.addMessages(dmMessages);
4442

4543
if (newNameForSelfUser != null) {
4644
await store.handleEvent(RealmUserUpdateEvent(id: 1, userId: eg.selfUser.userId,

0 commit comments

Comments
 (0)