// Copyright (c) 2021, Very Good Ventures // https://verygood.ventures // // Use of this source code is governed by an MIT-style // license that can be found in the LICENSE file or at // https://opensource.org/licenses/MIT. import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockingjay/mockingjay.dart'; import 'package:pinball/game/game.dart'; import 'package:pinball/l10n/l10n.dart'; import 'package:pinball/theme/theme.dart'; import 'helpers.dart'; extension PumpApp on WidgetTester { Future pumpApp( Widget widget, { MockNavigator? navigator, GameBloc? gameBloc, ThemeCubit? themeCubit, }) { return pumpWidget( MultiBlocProvider( providers: [ BlocProvider.value( value: themeCubit ?? MockThemeCubit(), ), BlocProvider.value( value: gameBloc ?? MockGameBloc(), ), ], child: MaterialApp( localizationsDelegates: const [ AppLocalizations.delegate, GlobalMaterialLocalizations.delegate, ], supportedLocales: AppLocalizations.supportedLocales, home: navigator != null ? MockNavigatorProvider(navigator: navigator, child: widget) : widget, ), ), ); } }