import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; import 'package:moody/main.dart' as app; import 'icon_finder.dart'; import 'package:moody/utils/widgets/question_slider_widget.dart'; // Replace with the actual import of your app import 'package:moody/utils/widgets/why_widget.dart'; import 'package:shared_preferences/shared_preferences.dart'; // Testet "First Page" gleich mit void main() { SharedPreferences.setMockInitialValues({}); IntegrationTestWidgetsFlutterBinding.ensureInitialized(); // testWidgets('HomePage - Find "+ Edit" and "- Save" Texts', (WidgetTester tester) async { testWidgets('HomePage UI Test', (WidgetTester tester) async { app.main(); await tester.pumpAndSettle(); await tester.tap(find.text('skip')); await tester.pumpAndSettle(); // Navigate to the HomePage if it's not the initial page await tester.tap(findIconByAsset('icon-logo.png'));// should be irrelevant because he *should* automatically be there but we are superstitius so I'm leaving this await tester.pumpAndSettle(); // Check for the presence of QuestionSliderWidget expect(find.byType(QuestionSliderWidget), findsOneWidget); // Test the slider movement final Finder sliderFinder = find.byType(Slider); await tester.drag(sliderFinder, const Offset(50, 0)); // Adjust the Offset as necessary await tester.pumpAndSettle(); await tester.tap(find.text("save.")); await tester.pumpAndSettle(); await tester.tap(find.text('warum?')); await tester.pumpAndSettle(); await tester.tap(find.text('Save')); await tester.pumpAndSettle(); //debugDumpApp(); await tester.tap(find.text("+ Edit")); await tester.pumpAndSettle(); // Check if the text area is editable and perform text entry if it is final Finder ancestor = find.byType(WhyWidget); final Finder descendant = find.descendant( of: ancestor, matching: find.byType(TextField) ); if (tester.any(descendant)) { await tester.enterText(descendant, 'Sample diary entry'); await tester.pumpAndSettle(); } // Test the save/edit button functionality await tester.tap(find.text('- Save')); await tester.pumpAndSettle(); // Verify the updated text expect(find.text('Sample diary entry'), findsOneWidget); }); }