// 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'; class MockGameBloc extends Mock implements GameBloc {} extension PumpApp on WidgetTester { Future pumpApp( Widget widget, { MockNavigator? navigator, GameBloc? gameBloc, }) { return pumpWidget( MaterialApp( localizationsDelegates: const [ AppLocalizations.delegate, GlobalMaterialLocalizations.delegate, ], supportedLocales: AppLocalizations.supportedLocales, home: BlocProvider.value( value: gameBloc ?? MockGameBloc(), child: navigator != null ? MockNavigatorProvider(navigator: navigator, child: widget) : widget, ), ), ); } }