fixing landing page test

pull/2/head
Erick Zanardo 4 years ago
parent 5fa1c66136
commit ad16d8a256

@ -254,6 +254,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "1.0.1"
mockingjay:
dependency: "direct dev"
description:
name: mockingjay
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
mocktail: mocktail:
dependency: "direct dev" dependency: "direct dev"
description: description:

@ -21,6 +21,7 @@ dev_dependencies:
bloc_test: ^9.0.2 bloc_test: ^9.0.2
flutter_test: flutter_test:
sdk: flutter sdk: flutter
mockingjay: ^0.2.0
mocktail: ^0.2.0 mocktail: ^0.2.0
very_good_analysis: ^2.4.0 very_good_analysis: ^2.4.0

@ -8,10 +8,14 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:mockingjay/mockingjay.dart';
import 'package:pinball/l10n/l10n.dart'; import 'package:pinball/l10n/l10n.dart';
extension PumpApp on WidgetTester { extension PumpApp on WidgetTester {
Future<void> pumpApp(Widget widget) { Future<void> pumpApp(
Widget widget, {
MockNavigator? navigator,
}) {
return pumpWidget( return pumpWidget(
MaterialApp( MaterialApp(
localizationsDelegates: const [ localizationsDelegates: const [
@ -19,7 +23,9 @@ extension PumpApp on WidgetTester {
GlobalMaterialLocalizations.delegate, GlobalMaterialLocalizations.delegate,
], ],
supportedLocales: AppLocalizations.supportedLocales, supportedLocales: AppLocalizations.supportedLocales,
home: widget, home: navigator != null
? MockNavigatorProvider(navigator: navigator, child: widget)
: widget,
), ),
); );
} }

@ -1,8 +1,6 @@
import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:pinball/game/game.dart'; import 'package:mockingjay/mockingjay.dart';
import 'package:pinball/landing/landing.dart'; import 'package:pinball/landing/landing.dart';
import '../../helpers/helpers.dart'; import '../../helpers/helpers.dart';
@ -16,17 +14,20 @@ void main() {
testWidgets('tapping on TextButton navigates to PinballGamePage', testWidgets('tapping on TextButton navigates to PinballGamePage',
(tester) async { (tester) async {
// TODO(erickzanardo): Make test pass. final navigator = MockNavigator();
await tester.pumpApp(const LandingPage()); when(() => navigator.push<void>(any())).thenAnswer((_) async {});
await tester.pumpApp(
const LandingPage(),
navigator: navigator,
);
await tester.tap( await tester.tap(
find.byType( find.byType(
TextButton, TextButton,
), ),
); );
await tester.pumpAndSettle();
expect(find.byType(PinballGamePage), findsOneWidget); verify(() => navigator.push<void>(any())).called(1);
expect(find.byType(LandingPage), findsNothing);
}); });
}); });
} }

Loading…
Cancel
Save