00f37d7e19
- 新增 ReminderActionExecutor 处理取消/稍后提醒操作 - 新增 ReminderOutboxStore 本地存储待处理操作 - 重构 LocalNotificationService 支持聚合提醒和交互操作 - 新增 event_color_resolver 工具类统一颜色解析 - 新增 CalendarService.archiveEvent 归档方法 - 增强 ModelTracking 支持缓存命中、推理token和成本追踪 - 添加 qwen3.5-35b-a3b 模型配置 - 更新 AndroidManifest 全屏intent权限 - 补充相关单元测试和文档
43 lines
1.3 KiB
Dart
43 lines
1.3 KiB
Dart
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);
|
|
});
|
|
});
|
|
}
|