import 'package:flutter_test/flutter_test.dart'; import 'package:pluriwave/servicios/servicio_bienvenida.dart'; import 'package:shared_preferences/shared_preferences.dart'; /// WU17b: `ServicioBienvenida` decides whether the first-run welcome /// screen (`PantallaBienvenida`) is still due — same injectable-prefs, /// versioned-key convention as `ServicioContenidoApp` (S3-R4), but a plain /// boolean flag since this welcome is a one-time, not per-version, surface. void main() { TestWidgetsFlutterBinding.ensureInitialized(); group('ServicioBienvenida', () { test( 'debeMostrarBienvenida is true before it has ever been marked seen', () async { SharedPreferences.setMockInitialValues({}); final servicio = ServicioBienvenida(); expect(await servicio.debeMostrarBienvenida(), isTrue); }, ); test( 'debeMostrarBienvenida is false after marcarBienvenidaVista', () async { SharedPreferences.setMockInitialValues({}); final servicio = ServicioBienvenida(); await servicio.marcarBienvenidaVista(); expect(await servicio.debeMostrarBienvenida(), isFalse); }, ); test('respects a seen flag already persisted by a prior launch', () async { SharedPreferences.setMockInitialValues({ 'pluri_bienvenida_vista_v1': true, }); final servicio = ServicioBienvenida(); expect(await servicio.debeMostrarBienvenida(), isFalse); }); }); }