diff --git a/packages/devtools_app/test/shared/initializer_test.dart b/packages/devtools_app/test/shared/initializer_test.dart index 8fb6d297631..464071fc741 100644 --- a/packages/devtools_app/test/shared/initializer_test.dart +++ b/packages/devtools_app/test/shared/initializer_test.dart @@ -13,7 +13,6 @@ import 'package:mockito/mockito.dart'; void main() { group('Initializer', () { - late MaterialApp app; const Key initializedKey = Key('initialized'); setUp(() { final serviceManager = FakeServiceManager(); @@ -22,17 +21,20 @@ void main() { setGlobal(ServiceConnectionManager, serviceManager); setGlobal(FrameworkController, FrameworkController()); setGlobal(OfflineModeController, OfflineModeController()); + setGlobal(IdeTheme, IdeTheme()); + }); - app = MaterialApp( - initialRoute: '/init', - routes: { - '/init': (_) => Initializer( - url: null, - builder: (_) => const SizedBox(key: initializedKey), - ), - }, + Future pumpInitializer(WidgetTester tester) async { + await tester.pumpWidget( + wrap( + Initializer( + url: null, + builder: (_) => const SizedBox(key: initializedKey), + ), + ), ); - }); + await tester.pumpAndSettle(); + } testWidgets( 'shows disconnected overlay if not connected', @@ -43,8 +45,7 @@ void main() { hasConnection: false, ), ); - - await tester.pumpFrames(app, const Duration(milliseconds: 100)); + await pumpInitializer(tester); expect(find.text('Disconnected'), findsOneWidget); }, ); @@ -56,15 +57,16 @@ void main() { setGlobal(ServiceConnectionManager, serviceManager); // Expect standard connected state. - await tester.pumpFrames(app, const Duration(milliseconds: 100)); + serviceManager.changeState(true); + await pumpInitializer(tester); expect(find.byKey(initializedKey), findsOneWidget); expect(find.text('Disconnected'), findsNothing); // Trigger a disconnect. serviceManager.changeState(false); + await tester.pumpAndSettle(const Duration(microseconds: 1000)); // Expect Disconnected overlay. - await tester.pumpFrames(app, const Duration(milliseconds: 100)); expect(find.text('Disconnected'), findsOneWidget); }, ); @@ -75,28 +77,23 @@ void main() { final serviceManager = FakeServiceManager(); setGlobal(ServiceConnectionManager, serviceManager); + // Expect standard connected state. + serviceManager.changeState(true); + await pumpInitializer(tester); + expect(find.byKey(initializedKey), findsOneWidget); + expect(find.text('Disconnected'), findsNothing); + // Trigger a disconnect and ensure the overlay appears. - await tester.pumpFrames(app, const Duration(milliseconds: 100)); serviceManager.changeState(false); - await tester.pumpFrames(app, const Duration(milliseconds: 100)); + await tester.pumpAndSettle(); expect(find.text('Disconnected'), findsOneWidget); // Trigger a reconnect serviceManager.changeState(true); + await tester.pumpAndSettle(); // Expect no overlay. - await tester.pumpFrames(app, const Duration(milliseconds: 100)); - expect(find.text('Disconnected'), findsNothing); - }, - ); - - testWidgets( - 'builds contents when initialized', - (WidgetTester tester) async { - await tester.pumpWidget(app); - await tester.pumpAndSettle(); expect(find.text('Disconnected'), findsNothing); - expect(find.byKey(initializedKey), findsOneWidget); }, ); });