import 'package:etm_powersync_app/main.dart'; import 'package:etm_powersync_app/providers/app_settings_provider.dart'; import 'package:etm_powersync_app/providers/installer_mode_provider.dart'; import 'package:etm_powersync_app/services/connection_manager.dart'; import 'package:etm_powersync_app/services/installation_store.dart'; import 'package:etm_powersync_app/services/nymea_service.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:provider/provider.dart'; void main() { testWidgets('App smoke test — gate vers Installations sans connexion active', (WidgetTester tester) async { final service = NymeaService(); final manager = ConnectionManager(service, InstallationStore()); await tester.pumpWidget( MultiProvider( providers: [ ChangeNotifierProvider.value(value: service), ChangeNotifierProvider.value(value: manager), ChangeNotifierProvider(create: (_) => AppSettingsProvider()), ChangeNotifierProvider(create: (_) => InstallerModeProvider()), ], child: NymeaEnergyApp(router: buildAppRouter(manager, service)), ), ); await tester.pump(); // Sans session active, le gate doit router vers Installations. expect(find.byType(NymeaEnergyApp), findsOneWidget); expect(find.text('Installations'), findsWidgets); }); }