import 'dart:io'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:hydrated_bloc/hydrated_bloc.dart'; import 'package:ot_viewer_app/main.dart'; import 'package:ot_viewer_app/refresh_cubit.dart'; import 'package:ot_viewer_app/settings_page.dart'; void main() { setUpAll(() async { TestWidgetsFlutterBinding.ensureInitialized(); final tempDir = await Directory.systemTemp.createTemp('ot_viewer_test'); HydratedBloc.storage = await HydratedStorage.build( storageDirectory: tempDir, ); }); testWidgets('App shell renders with map and settings tabs', (WidgetTester tester) async { await tester.pumpWidget( MultiBlocProvider( providers: [ BlocProvider(create: (context) => SettingsCubit()), BlocProvider(create: (context) => RefreshCubit()), ], child: const MyApp(), ), ); expect(find.text('Map'), findsOneWidget); expect(find.text('Settings'), findsOneWidget); }); }