@@ -39,14 +39,22 @@ void main() {
39
39
final contentInputFinder = find.byWidgetPredicate (
40
40
(widget) => widget is TextField && widget.controller is ComposeContentController );
41
41
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
+ }
44
51
addTearDown (testBinding.reset);
45
52
await testBinding.globalStore.add (eg.selfAccount, eg.initialSnapshot ());
46
53
47
54
store = await testBinding.globalStore.perAccount (eg.selfAccount.id);
48
55
49
56
await store.addUsers ([eg.selfUser, ...users]);
57
+ await store.addStreams (streams);
50
58
connection = store.connection as FakeApiConnection ;
51
59
52
60
final controllerKey = GlobalKey <ComposeBoxController >();
@@ -205,15 +213,17 @@ void main() {
205
213
}
206
214
207
215
testWidgets ('_StreamComposeBox' , (tester) async {
216
+ final channel = eg.stream ();
208
217
final key = await prepareComposeBox (tester,
209
- narrow: ChannelNarrow (eg. stream (). streamId));
218
+ narrow: ChannelNarrow (channel. streamId), streams : [channel] );
210
219
checkComposeBoxTextFields (tester, controllerKey: key,
211
220
expectTopicTextField: true );
212
221
});
213
222
214
223
testWidgets ('_FixedDestinationComposeBox' , (tester) async {
224
+ final channel = eg.stream ();
215
225
final key = await prepareComposeBox (tester,
216
- narrow: TopicNarrow . ofMessage (eg. streamMessage ()) );
226
+ narrow: TopicNarrow (channel.streamId, 'topic' ), streams : [channel] );
217
227
checkComposeBoxTextFields (tester, controllerKey: key,
218
228
expectTopicTextField: false );
219
229
});
@@ -382,7 +392,8 @@ void main() {
382
392
addTearDown (TypingNotifier .debugReset);
383
393
384
394
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 )]);
386
397
387
398
await tester.enterText (contentInputFinder, 'hello world' );
388
399
@@ -447,8 +458,10 @@ void main() {
447
458
TypingNotifier .debugEnable = false ;
448
459
addTearDown (TypingNotifier .debugReset);
449
460
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]);
452
465
final composeBoxController = controllerKey.currentState! ;
453
466
454
467
// (When we check that the send button looks disabled, it should be because
@@ -507,8 +520,10 @@ void main() {
507
520
TypingNotifier .debugEnable = false ;
508
521
addTearDown (TypingNotifier .debugReset);
509
522
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]);
512
527
final composeBoxController = controllerKey.currentState! ;
513
528
514
529
// (When we check that the send button looks disabled, it should be because
0 commit comments