Skip to content

Commit de2bf6c

Browse files
committed
test [nfc]: Disable TypingNotifier when not testing it
Once the compose box widget supports sending typing notifications, TypingNotifier will send some extra requests whenever something is entered. We disable it preemptively to avoid tests being broken from not expecting those requests. Signed-off-by: Zixuan James Li <[email protected]>
1 parent a8bd42a commit de2bf6c

File tree

4 files changed

+23
-0
lines changed

4 files changed

+23
-0
lines changed

test/widgets/action_sheet_test.dart

+3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import 'package:zulip/model/internal_link.dart';
1414
import 'package:zulip/model/localizations.dart';
1515
import 'package:zulip/model/narrow.dart';
1616
import 'package:zulip/model/store.dart';
17+
import 'package:zulip/model/typing_status.dart';
1718
import 'package:zulip/widgets/compose_box.dart';
1819
import 'package:zulip/widgets/content.dart';
1920
import 'package:zulip/widgets/icons.dart';
@@ -259,6 +260,8 @@ void main() {
259260
await tester.ensureVisible(find.byIcon(Icons.format_quote_outlined, skipOffstage: false));
260261
final quoteAndReplyButton = findQuoteAndReplyButton(tester);
261262
check(quoteAndReplyButton).isNotNull();
263+
TypingNotifier.debugEnable = false;
264+
addTearDown(TypingNotifier.debugReset);
262265
await tester.tap(find.byWidget(quoteAndReplyButton!));
263266
await tester.pump(); // [MenuItemButton.onPressed] called in a post-frame callback: flutter/flutter@e4a39fa2e
264267
}

test/widgets/autocomplete_test.dart

+7
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:zulip/model/compose.dart';
88
import 'package:zulip/model/localizations.dart';
99
import 'package:zulip/model/narrow.dart';
1010
import 'package:zulip/model/store.dart';
11+
import 'package:zulip/model/typing_status.dart';
1112
import 'package:zulip/widgets/message_list.dart';
1213

1314
import '../api/fake_api.dart';
@@ -129,6 +130,9 @@ void main() {
129130
final composeInputFinder = await setupToComposeInput(tester, users: [user1, user2, user3]);
130131
final store = await testBinding.globalStore.perAccount(eg.selfAccount.id);
131132

133+
TypingNotifier.debugEnable = false;
134+
addTearDown(TypingNotifier.debugReset);
135+
132136
// Options are filtered correctly for query
133137
// TODO(#226): Remove this extra edit when this bug is fixed.
134138
await tester.enterText(composeInputFinder, 'hello @user ');
@@ -180,6 +184,9 @@ void main() {
180184
final topicInputFinder = await setupToTopicInput(tester, topics: [topic1, topic2, topic3]);
181185
final store = await testBinding.globalStore.perAccount(eg.selfAccount.id);
182186

187+
TypingNotifier.debugEnable = false;
188+
addTearDown(TypingNotifier.debugReset);
189+
183190
// Options are filtered correctly for query
184191
// TODO(#226): Remove this extra edit when this bug is fixed.
185192
await tester.enterText(topicInputFinder, 'Topic');

test/widgets/compose_box_test.dart

+10
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import 'package:zulip/api/route/messages.dart';
1414
import 'package:zulip/model/localizations.dart';
1515
import 'package:zulip/model/narrow.dart';
1616
import 'package:zulip/model/store.dart';
17+
import 'package:zulip/model/typing_status.dart';
1718
import 'package:zulip/widgets/compose_box.dart';
1819

1920
import '../api/fake_api.dart';
@@ -199,6 +200,9 @@ void main() {
199200
Future<void> setupAndTapSend(WidgetTester tester, {
200201
required void Function(int messageId) prepareResponse,
201202
}) async {
203+
TypingNotifier.debugEnable = false;
204+
addTearDown(TypingNotifier.debugReset);
205+
202206
final zulipLocalizations = GlobalLocalizations.zulipLocalizations;
203207
await prepareComposeBox(tester, narrow: const TopicNarrow(123, 'some topic'));
204208

@@ -264,6 +268,9 @@ void main() {
264268

265269
group('attach from media library', () {
266270
testWidgets('success', (tester) async {
271+
TypingNotifier.debugEnable = false;
272+
addTearDown(TypingNotifier.debugReset);
273+
267274
final controllerKey = await prepareComposeBox(tester, narrow: ChannelNarrow(eg.stream().streamId));
268275
final composeBoxController = controllerKey.currentState!;
269276

@@ -320,6 +327,9 @@ void main() {
320327

321328
group('attach from camera', () {
322329
testWidgets('success', (tester) async {
330+
TypingNotifier.debugEnable = false;
331+
addTearDown(TypingNotifier.debugReset);
332+
323333
final controllerKey = await prepareComposeBox(tester, narrow: ChannelNarrow(eg.stream().streamId));
324334
final composeBoxController = controllerKey.currentState!;
325335

test/widgets/message_list_test.dart

+3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import 'package:zulip/api/route/messages.dart';
1515
import 'package:zulip/model/localizations.dart';
1616
import 'package:zulip/model/narrow.dart';
1717
import 'package:zulip/model/store.dart';
18+
import 'package:zulip/model/typing_status.dart';
1819
import 'package:zulip/widgets/autocomplete.dart';
1920
import 'package:zulip/widgets/color.dart';
2021
import 'package:zulip/widgets/content.dart';
@@ -52,12 +53,14 @@ void main() {
5253
List<Subscription>? subscriptions,
5354
UnreadMessagesSnapshot? unreadMsgs,
5455
}) async {
56+
addTearDown(TypingNotifier.debugReset);
5557
addTearDown(testBinding.reset);
5658
streams ??= subscriptions ??= [eg.subscription(eg.stream(streamId: eg.defaultStreamMessageStreamId))];
5759
await testBinding.globalStore.add(eg.selfAccount, eg.initialSnapshot(
5860
streams: streams, subscriptions: subscriptions, unreadMsgs: unreadMsgs));
5961
store = await testBinding.globalStore.perAccount(eg.selfAccount.id);
6062
connection = store.connection as FakeApiConnection;
63+
TypingNotifier.debugEnable = false;
6164

6265
// prepare message list data
6366
await store.addUser(eg.selfUser);

0 commit comments

Comments
 (0)