Skip to content

Commit 35c966e

Browse files
committed
compose test [nfc]: Make controllerKey a shared late variable
1 parent 060208f commit 35c966e

File tree

1 file changed

+10
-16
lines changed

1 file changed

+10
-16
lines changed

test/widgets/compose_box_test.dart

+10-16
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,12 @@ void main() {
3838

3939
late PerAccountStore store;
4040
late FakeApiConnection connection;
41+
late GlobalKey<ComposeBoxController> controllerKey;
4142

4243
final contentInputFinder = find.byWidgetPredicate(
4344
(widget) => widget is TextField && widget.controller is ComposeContentController);
4445

45-
Future<GlobalKey<ComposeBoxController>> prepareComposeBox(WidgetTester tester, {
46+
Future<void> prepareComposeBox(WidgetTester tester, {
4647
required Narrow narrow,
4748
User? selfUser,
4849
int? realmWaitingPeriodThreshold,
@@ -65,7 +66,7 @@ void main() {
6566
await store.addStreams(streams);
6667
connection = store.connection as FakeApiConnection;
6768

68-
final controllerKey = GlobalKey<ComposeBoxController>();
69+
controllerKey = GlobalKey<ComposeBoxController>();
6970
await tester.pumpWidget(TestZulipApp(accountId: selfAccount.id,
7071
child: Column(
7172
// This positions the compose box at the bottom of the screen,
@@ -75,8 +76,6 @@ void main() {
7576
ComposeBox(controllerKey: controllerKey, narrow: narrow),
7677
])));
7778
await tester.pumpAndSettle();
78-
79-
return controllerKey;
8079
}
8180

8281
Future<void> enterTopic(WidgetTester tester, {
@@ -198,7 +197,6 @@ void main() {
198197

199198
group('ComposeBox textCapitalization', () {
200199
void checkComposeBoxTextFields(WidgetTester tester, {
201-
required GlobalKey<ComposeBoxController> controllerKey,
202200
required bool expectTopicTextField,
203201
}) {
204202
final composeBoxController = controllerKey.currentState!;
@@ -222,18 +220,16 @@ void main() {
222220

223221
testWidgets('_StreamComposeBox', (tester) async {
224222
final channel = eg.stream();
225-
final key = await prepareComposeBox(tester,
223+
await prepareComposeBox(tester,
226224
narrow: ChannelNarrow(channel.streamId), streams: [channel]);
227-
checkComposeBoxTextFields(tester, controllerKey: key,
228-
expectTopicTextField: true);
225+
checkComposeBoxTextFields(tester, expectTopicTextField: true);
229226
});
230227

231228
testWidgets('_FixedDestinationComposeBox', (tester) async {
232229
final channel = eg.stream();
233-
final key = await prepareComposeBox(tester,
230+
await prepareComposeBox(tester,
234231
narrow: TopicNarrow(channel.streamId, 'topic'), streams: [channel]);
235-
checkComposeBoxTextFields(tester, controllerKey: key,
236-
expectTopicTextField: false);
232+
checkComposeBoxTextFields(tester, expectTopicTextField: false);
237233
});
238234
});
239235

@@ -354,7 +350,7 @@ void main() {
354350
});
355351

356352
testWidgets('selection change sends a "typing started" notice', (tester) async {
357-
final controllerKey = await prepareComposeBox(tester, narrow: narrow, streams: [channel]);
353+
await prepareComposeBox(tester, narrow: narrow, streams: [channel]);
358354
final composeBoxController = controllerKey.currentState!;
359355

360356
await checkStartTyping(tester, narrow);
@@ -474,8 +470,7 @@ void main() {
474470

475471
final channel = eg.stream();
476472
final narrow = ChannelNarrow(channel.streamId);
477-
final controllerKey = await prepareComposeBox(tester,
478-
narrow: narrow, streams: [channel]);
473+
await prepareComposeBox(tester, narrow: narrow, streams: [channel]);
479474
final composeBoxController = controllerKey.currentState!;
480475

481476
// (When we check that the send button looks disabled, it should be because
@@ -536,8 +531,7 @@ void main() {
536531

537532
final channel = eg.stream();
538533
final narrow = ChannelNarrow(channel.streamId);
539-
final controllerKey = await prepareComposeBox(tester,
540-
narrow: narrow, streams: [channel]);
534+
await prepareComposeBox(tester, narrow: narrow, streams: [channel]);
541535
final composeBoxController = controllerKey.currentState!;
542536

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

0 commit comments

Comments
 (0)