import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:travel_mate/models/trip_invitation.dart'; void main() { group('TripInvitation', () { test('toMap serializes required fields', () { final invitation = TripInvitation( id: 'id_1', tripId: 'trip_1', tripTitle: 'Weekend Rome', inviterId: 'user_a', inviterName: 'Alice', inviteeId: 'user_b', inviteeEmail: 'bob@example.com', createdAt: DateTime(2026, 3, 3), ); final map = invitation.toMap(); expect(map['tripId'], 'trip_1'); expect(map['status'], 'pending'); expect(map['respondedAt'], isNull); expect(map['createdAt'], isA()); }); test('copyWith updates selected values', () { final invitation = TripInvitation( id: 'id_1', tripId: 'trip_1', tripTitle: 'Trip', inviterId: 'user_a', inviterName: 'Alice', inviteeId: 'user_b', inviteeEmail: 'bob@example.com', createdAt: DateTime(2026, 3, 3), ); final updated = invitation.copyWith( status: 'accepted', respondedAt: DateTime(2026, 3, 4), ); expect(updated.status, 'accepted'); expect(updated.respondedAt, DateTime(2026, 3, 4)); expect(updated.tripId, invitation.tripId); }); }); }