import 'package:farolero/servicios/servicio_notas.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:shared_preferences/shared_preferences.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); setUp(() { SharedPreferences.setMockInitialValues({}); }); test('guarda y carga notas scoped por partida y autor', () async { await ServicioNotas.guardarNotasPartida( partidaId: 'sala-1', autorJugadorId: 'jugador-a', notasPorJugador: {'jugador-b': 'Dijo perro demasiado rápido'}, notaLibre: 'Sospecho de B', ); final datos = await ServicioNotas.cargarNotasPartida( partidaId: 'sala-1', autorJugadorId: 'jugador-a', ); expect(datos['notas'], {'jugador-b': 'Dijo perro demasiado rápido'}); expect(datos['notaLibre'], 'Sospecho de B'); }); test('no mezcla notas entre partidas ni autores', () async { await ServicioNotas.guardarNotasPartida( partidaId: 'sala-1', autorJugadorId: 'jugador-a', notasPorJugador: {'jugador-b': 'nota sala 1'}, notaLibre: 'libre 1', ); await ServicioNotas.guardarNotasPartida( partidaId: 'sala-2', autorJugadorId: 'jugador-a', notasPorJugador: {'jugador-b': 'nota sala 2'}, notaLibre: 'libre 2', ); final otraPartida = await ServicioNotas.cargarNotasPartida( partidaId: 'sala-2', autorJugadorId: 'jugador-a', ); final otroAutor = await ServicioNotas.cargarNotasPartida( partidaId: 'sala-1', autorJugadorId: 'jugador-c', ); expect(otraPartida['notas'], {'jugador-b': 'nota sala 2'}); expect(otraPartida['notaLibre'], 'libre 2'); expect(otroAutor['notas'], isEmpty); expect(otroAutor['notaLibre'], isEmpty); }); }