Skip to content

Commit 4926c92

Browse files
committed
test [nfc]: Add streams and eg.selfUser to store in several tests
Adding these is necessary for the next commit(s), otherwise these tests will fail.
1 parent 1b01b2e commit 4926c92

File tree

4 files changed

+29
-10
lines changed

4 files changed

+29
-10
lines changed

test/widgets/action_sheet_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Future<void> setupToMessageActionSheet(WidgetTester tester, {
4747

4848
await testBinding.globalStore.add(eg.selfAccount, eg.initialSnapshot());
4949
store = await testBinding.globalStore.perAccount(eg.selfAccount.id);
50-
await store.addUser(eg.user(userId: message.senderId));
50+
await store.addUsers([eg.selfUser, eg.user(userId: message.senderId)]);
5151
if (message is StreamMessage) {
5252
final stream = eg.stream(streamId: message.streamId);
5353
await store.addStream(stream);

test/widgets/autocomplete_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,12 @@ Future<Finder> setupToTopicInput(WidgetTester tester, {
7777
addTearDown(testBinding.reset);
7878
await testBinding.globalStore.add(eg.selfAccount, eg.initialSnapshot());
7979
final store = await testBinding.globalStore.perAccount(eg.selfAccount.id);
80+
await store.addUser(eg.selfUser);
8081
final connection = store.connection as FakeApiConnection;
8182

8283
// prepare message list data
8384
final stream = eg.stream();
85+
await store.addStream(stream);
8486
final message = eg.streamMessage(stream: stream, sender: eg.selfUser);
8587
connection.prepare(json: GetMessagesResult(
8688
anchor: message.id,

test/widgets/compose_box_test.dart

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,22 @@ void main() {
3939
final contentInputFinder = find.byWidgetPredicate(
4040
(widget) => widget is TextField && widget.controller is ComposeContentController);
4141

42-
Future<GlobalKey<ComposeBoxController>> prepareComposeBox(WidgetTester tester,
43-
{required Narrow narrow, List<User> users = const []}) async {
42+
Future<GlobalKey<ComposeBoxController>> prepareComposeBox(WidgetTester tester, {
43+
required Narrow narrow,
44+
List<User> users = const [],
45+
List<ZulipStream> streams = const [],
46+
}) async {
47+
if (narrow case ChannelNarrow(:var streamId) || TopicNarrow(: var streamId)) {
48+
assert(streams.any((stream) => stream.streamId == streamId),
49+
'Add a channel with "streamId" the same as of $narrow.streamId to the store.');
50+
}
4451
addTearDown(testBinding.reset);
4552
await testBinding.globalStore.add(eg.selfAccount, eg.initialSnapshot());
4653

4754
store = await testBinding.globalStore.perAccount(eg.selfAccount.id);
4855

4956
await store.addUsers([eg.selfUser, ...users]);
57+
await store.addStreams(streams);
5058
connection = store.connection as FakeApiConnection;
5159

5260
final controllerKey = GlobalKey<ComposeBoxController>();
@@ -205,15 +213,17 @@ void main() {
205213
}
206214

207215
testWidgets('_StreamComposeBox', (tester) async {
216+
final channel = eg.stream();
208217
final key = await prepareComposeBox(tester,
209-
narrow: ChannelNarrow(eg.stream().streamId));
218+
narrow: ChannelNarrow(channel.streamId), streams: [channel]);
210219
checkComposeBoxTextFields(tester, controllerKey: key,
211220
expectTopicTextField: true);
212221
});
213222

214223
testWidgets('_FixedDestinationComposeBox', (tester) async {
224+
final channel = eg.stream();
215225
final key = await prepareComposeBox(tester,
216-
narrow: TopicNarrow.ofMessage(eg.streamMessage()));
226+
narrow: TopicNarrow(channel.streamId, 'topic'), streams: [channel]);
217227
checkComposeBoxTextFields(tester, controllerKey: key,
218228
expectTopicTextField: false);
219229
});
@@ -382,7 +392,8 @@ void main() {
382392
addTearDown(TypingNotifier.debugReset);
383393

384394
final zulipLocalizations = GlobalLocalizations.zulipLocalizations;
385-
await prepareComposeBox(tester, narrow: const TopicNarrow(123, 'some topic'));
395+
await prepareComposeBox(tester, narrow: const TopicNarrow(123, 'some topic'),
396+
streams: [eg.stream(streamId: 123)]);
386397

387398
await tester.enterText(contentInputFinder, 'hello world');
388399

@@ -447,8 +458,10 @@ void main() {
447458
TypingNotifier.debugEnable = false;
448459
addTearDown(TypingNotifier.debugReset);
449460

450-
final narrow = ChannelNarrow(eg.stream().streamId);
451-
final controllerKey = await prepareComposeBox(tester, narrow: narrow);
461+
final channel = eg.stream();
462+
final narrow = ChannelNarrow(channel.streamId);
463+
final controllerKey = await prepareComposeBox(tester,
464+
narrow: narrow, streams: [channel]);
452465
final composeBoxController = controllerKey.currentState!;
453466

454467
// (When we check that the send button looks disabled, it should be because
@@ -507,8 +520,10 @@ void main() {
507520
TypingNotifier.debugEnable = false;
508521
addTearDown(TypingNotifier.debugReset);
509522

510-
final narrow = ChannelNarrow(eg.stream().streamId);
511-
final controllerKey = await prepareComposeBox(tester, narrow: narrow);
523+
final channel = eg.stream();
524+
final narrow = ChannelNarrow(channel.streamId);
525+
final controllerKey = await prepareComposeBox(tester,
526+
narrow: narrow, streams: [channel]);
512527
final composeBoxController = controllerKey.currentState!;
513528

514529
// (When we check that the send button looks disabled, it should be because

test/widgets/message_list_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ void main() {
104104
testWidgets('MessageListPageState.narrow', (tester) async {
105105
final stream = eg.stream();
106106
await setupMessageListPage(tester, narrow: ChannelNarrow(stream.streamId),
107+
streams: [stream],
107108
messages: [eg.streamMessage(stream: stream, content: "<p>a message</p>")]);
108109
final state = MessageListPage.ancestorOf(tester.element(find.text("a message")));
109110
check(state.narrow).equals(ChannelNarrow(stream.streamId));
@@ -112,6 +113,7 @@ void main() {
112113
testWidgets('composeBoxController finds compose box', (tester) async {
113114
final stream = eg.stream();
114115
await setupMessageListPage(tester, narrow: ChannelNarrow(stream.streamId),
116+
streams: [stream],
115117
messages: [eg.streamMessage(stream: stream, content: "<p>a message</p>")]);
116118
final state = MessageListPage.ancestorOf(tester.element(find.text("a message")));
117119
check(state.composeBoxController).isNotNull();

0 commit comments

Comments
 (0)