import 'package:flutter_test/flutter_test.dart'; import 'package:social_app/features/calendar/reminders/models/reminder_payload.dart'; void main() { group('ReminderPayload', () { test('round-trips single payload', () { final payload = ReminderPayload( eventId: 'evt_1', title: 'Daily Sync', startAt: DateTime.parse('2026-03-18T16:00:00+08:00'), endAt: DateTime.parse('2026-03-18T17:00:00+08:00'), timezone: 'Asia/Shanghai', location: 'A101', notes: 'Bring docs', color: '#3B82F6', mode: ReminderPayloadMode.single, aggregateIds: const [], version: 1, ); final decoded = ReminderPayload.fromJson(payload.toJson()); expect(decoded, payload); }); test('round-trips aggregate payload', () { final payload = ReminderPayload( eventId: 'evt_group', title: 'Overlap Reminder', startAt: DateTime.parse('2026-03-18T16:00:00+08:00'), timezone: 'Asia/Shanghai', mode: ReminderPayloadMode.aggregate, aggregateIds: const ['evt_1', 'evt_2'], version: 1, ); final decoded = ReminderPayload.fromJson(payload.toJson()); expect(decoded.mode, ReminderPayloadMode.aggregate); expect(decoded.aggregateIds, const ['evt_1', 'evt_2']); expect(decoded, payload); }); }); }