import 'package:flutter_test/flutter_test.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:travel_mate/models/emergency_contact.dart'; import 'package:travel_mate/services/emergency_service.dart'; void main() { const tripId = 'trip-emergency-1'; late EmergencyService service; setUp(() { SharedPreferences.setMockInitialValues({}); service = EmergencyService(); }); test('adds and loads contacts', () async { final contact = EmergencyContact.newContact( id: 'c1', name: 'Assistance', phone: '+33123456789', note: 'Assurance', ); await service.addContact(tripId, contact); final loaded = await service.loadContacts(tripId); expect(loaded.single.phone, '+33123456789'); }); test('deletes contact', () async { final a = EmergencyContact.newContact( id: 'a', name: 'Ambassade', phone: '+321234', ); final b = EmergencyContact.newContact( id: 'b', name: 'Marie', phone: '+33999', ); await service.addContact(tripId, a); await service.addContact(tripId, b); final updated = await service.deleteContact(tripId, 'a'); expect(updated.map((c) => c.id), contains('b')); expect(updated.length, 1); }); test('corrupted payload cleared', () async { final prefs = await SharedPreferences.getInstance(); await prefs.setString('emergency_$tripId', 'oops'); final loaded = await service.loadContacts(tripId); expect(loaded, isEmpty); expect(prefs.getString('emergency_$tripId'), isNull); }); }