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/views/statistic/widget/calendar_widget.dart'; import 'package:moody/views/statistic/widget/streak_widget.dart'; import 'package:shared_preferences/shared_preferences.dart'; void main() { SharedPreferences.setMockInitialValues({}); IntegrationTestWidgetsFlutterBinding.ensureInitialized(); testWidgets('StatisticPage UI Test', (WidgetTester tester) async { app.main(); await tester.pumpAndSettle(); await tester.tap(find.text('skip')); await tester.pumpAndSettle(); // Navigate to the StatisticPage if it's not the initial page await tester.tap(findIconByAsset('icon-analyze.png')); await tester.pumpAndSettle(); // Check for a CircularProgressIndicator while data is loading expect(find.byType(StreakWidget), findsWidgets); // Wait for FutureBuilder to complete and StreakWidget to be displayed await tester.pumpAndSettle(const Duration(seconds: 2)); expect(find.byType(StreakWidget), findsOneWidget); // Check for the presence of CalendarWidget expect(find.byType(CalendarWidget), findsWidgets); // Verify the text "browse your memories!" is present expect(find.text("browse your memories!"), findsOneWidget); }); }