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"
source: hosted
version: "1.0.1"
mockingjay:
dependency: "direct dev"
description:
name: mockingjay
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
mocktail:
dependency: "direct dev"
description:

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

@ -8,10 +8,14 @@
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mockingjay/mockingjay.dart';
import 'package:pinball/l10n/l10n.dart';
extension PumpApp on WidgetTester {
Future<void> pumpApp(Widget widget) {
Future<void> pumpApp(
Widget widget, {
MockNavigator? navigator,
}) {
return pumpWidget(
MaterialApp(
localizationsDelegates: const [
@ -19,7 +23,9 @@ extension PumpApp on WidgetTester {
GlobalMaterialLocalizations.delegate,
],
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_test/flutter_test.dart';
import 'package:pinball/game/game.dart';
import 'package:mockingjay/mockingjay.dart';
import 'package:pinball/landing/landing.dart';
import '../../helpers/helpers.dart';
@ -16,17 +14,20 @@ void main() {
testWidgets('tapping on TextButton navigates to PinballGamePage',
(tester) async {
// TODO(erickzanardo): Make test pass.
await tester.pumpApp(const LandingPage());
final navigator = MockNavigator();
when(() => navigator.push<void>(any())).thenAnswer((_) async {});
await tester.pumpApp(
const LandingPage(),
navigator: navigator,
);
await tester.tap(
find.byType(
TextButton,
),
);
await tester.pumpAndSettle();
expect(find.byType(PinballGamePage), findsOneWidget);
expect(find.byType(LandingPage), findsNothing);
verify(() => navigator.push<void>(any())).called(1);
});
});
}

Loading…
Cancel
Save