From 6890d52734a9e6d890bdbfd97e49591667151244 Mon Sep 17 00:00:00 2001 From: Tamara Slosarek Date: Tue, 9 Apr 2024 10:40:25 +0200 Subject: [PATCH] test(#259): mark tutorial as done in present main page tests --- app/integration_test/faq_test.dart | 85 +++++++++++++----------- app/integration_test/main_page_test.dart | 2 + app/integration_test/more_test.dart | 3 + 3 files changed, 52 insertions(+), 38 deletions(-) diff --git a/app/integration_test/faq_test.dart b/app/integration_test/faq_test.dart index f54190a6..159bd8bc 100644 --- a/app/integration_test/faq_test.dart +++ b/app/integration_test/faq_test.dart @@ -6,53 +6,62 @@ import 'package:integration_test/integration_test.dart'; void main() { final binding = IntegrationTestWidgetsFlutterBinding.ensureInitialized(); - binding.framePolicy = LiveTestWidgetsFlutterBindingFramePolicy.onlyPumps; group('integration test for the faq page', () { - final appRouter = AppRouter(); - final faqWidget = MaterialApp.router( - routeInformationParser: appRouter.defaultRouteParser(), - routerDelegate: appRouter.delegate( - deepLinkBuilder: (_) => DeepLink.path('/main/faq'), - ), - localizationsDelegates: [ - AppLocalizations.delegate, - GlobalMaterialLocalizations.delegate, - GlobalWidgetsLocalizations.delegate, - GlobalCupertinoLocalizations.delegate, - ], - supportedLocales: [Locale('en', '')], - ); - testWidgets('All questions are loaded and expansion tiles can be open', - (tester) async { - await tester.pumpWidget(faqWidget); - await tester.pumpAndSettle(); + late MaterialApp faqWidget; - final expectedNumberOfQuestions = faqList.keys.fold( - 0, (number, topic) => number + faqList[topic]!.length + setUpAll(() async { + await initServices(); + MetaData.instance.tutorialDone = true; + await MetaData.save(); + final appRouter = AppRouter(); + faqWidget = MaterialApp.router( + routeInformationParser: appRouter.defaultRouteParser(), + routerDelegate: appRouter.delegate( + deepLinkBuilder: (_) => DeepLink.path('/main/faq'), + ), + localizationsDelegates: [ + AppLocalizations.delegate, + GlobalMaterialLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + ], + supportedLocales: [Locale('en', '')], ); + }); - expect( - find - .descendant( - of: find.byKey(ValueKey('questionsColumn')), - matching: find.byType(ExpansionTile), - ) - .evaluate() - .length, - expectedNumberOfQuestions, - ); + testWidgets( + 'All questions are loaded and expansion tiles can be open', + (tester) async { + await tester.pumpWidget(faqWidget); + await tester.pumpAndSettle(); - final firstQuestion = faqList[faqList.keys.first]![0]; - expect(find.text(firstQuestion.question), findsOneWidget); - expect(find.text(firstQuestion.answer), findsNothing); + final expectedNumberOfQuestions = faqList.keys.fold( + 0, (number, topic) => number + faqList[topic]!.length + ); - await tester.tap(find.byType(ExpansionTile).first); - await tester.pumpAndSettle(); + expect( + find + .descendant( + of: find.byKey(ValueKey('questionsColumn')), + matching: find.byType(ExpansionTile), + ) + .evaluate() + .length, + expectedNumberOfQuestions, + ); - expect(find.text(firstQuestion.answer), findsOneWidget); - }); + final firstQuestion = faqList[faqList.keys.first]![0]; + expect(find.text(firstQuestion.question), findsOneWidget); + expect(find.text(firstQuestion.answer), findsNothing); + + await tester.tap(find.byType(ExpansionTile).first); + await tester.pumpAndSettle(); + + expect(find.text(firstQuestion.answer), findsOneWidget); + }, + ); }); } diff --git a/app/integration_test/main_page_test.dart b/app/integration_test/main_page_test.dart index f3393382..657d1385 100644 --- a/app/integration_test/main_page_test.dart +++ b/app/integration_test/main_page_test.dart @@ -17,6 +17,8 @@ void main() { group('test the main page', () { testWidgets('test that tabs change pages', (tester) async { await initServices(); + MetaData.instance.tutorialDone = true; + await MetaData.save(); final appRouter = AppRouter(); await tester.pumpWidget( ChangeNotifierProvider( diff --git a/app/integration_test/more_test.dart b/app/integration_test/more_test.dart index 02b7b263..60dd739d 100644 --- a/app/integration_test/more_test.dart +++ b/app/integration_test/more_test.dart @@ -10,6 +10,9 @@ void main() { group('test settings page', () { testWidgets('right things are getting rendered', (tester) async { + await initServices(); + MetaData.instance.tutorialDone = true; + await MetaData.save(); final appRouter = AppRouter(); await tester.pumpWidget(MaterialApp.router( debugShowCheckedModeBanner: false,