feat: 实现日历提醒 in-app fallback 机制及通知服务重构
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:social_app/features/calendar/reminders/ui/widgets/reminder_action_sheet.dart';
|
||||
|
||||
void main() {
|
||||
Future<void> pumpSheet(
|
||||
WidgetTester tester, {
|
||||
required VoidCallback onSnooze,
|
||||
required VoidCallback onArchive,
|
||||
}) {
|
||||
return tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: Scaffold(
|
||||
body: ReminderActionSheet(onSnooze: onSnooze, onArchive: onArchive),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
testWidgets('tap snooze button triggers onSnooze', (tester) async {
|
||||
var snoozed = false;
|
||||
|
||||
await pumpSheet(tester, onSnooze: () => snoozed = true, onArchive: () {});
|
||||
|
||||
await tester.tap(find.text('稍后提醒'));
|
||||
await tester.pump();
|
||||
|
||||
expect(snoozed, isTrue);
|
||||
});
|
||||
|
||||
testWidgets('tap archive button triggers onArchive', (tester) async {
|
||||
var archived = false;
|
||||
|
||||
await pumpSheet(tester, onSnooze: () {}, onArchive: () => archived = true);
|
||||
|
||||
await tester.tap(find.text('归档'));
|
||||
await tester.pump();
|
||||
|
||||
expect(archived, isTrue);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user