42 lines
1.1 KiB
Dart
42 lines
1.1 KiB
Dart
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);
|
|
});
|
|
}
|