Add notification permission flow in settings
This commit is contained in:
@@ -59,12 +59,29 @@ void main() {
|
||||
expect(driver.initializeCalls, 1);
|
||||
expect(driver.cancelAllCalls, 1);
|
||||
});
|
||||
|
||||
test('requestPermissions delegates to notifications driver', () async {
|
||||
final FakeReminderNotificationsDriver driver =
|
||||
FakeReminderNotificationsDriver(permissionResult: true);
|
||||
final LocalNotificationsReminderScheduler scheduler =
|
||||
LocalNotificationsReminderScheduler(driver: driver);
|
||||
|
||||
final bool granted = await scheduler.requestPermissions();
|
||||
|
||||
expect(granted, isTrue);
|
||||
expect(driver.initializeCalls, 1);
|
||||
expect(driver.permissionRequests, 1);
|
||||
});
|
||||
}
|
||||
|
||||
class FakeReminderNotificationsDriver implements ReminderNotificationsDriver {
|
||||
FakeReminderNotificationsDriver({this.permissionResult = true});
|
||||
|
||||
int initializeCalls = 0;
|
||||
int cancelAllCalls = 0;
|
||||
int permissionRequests = 0;
|
||||
final List<ScheduledCall> scheduled = <ScheduledCall>[];
|
||||
final bool permissionResult;
|
||||
|
||||
@override
|
||||
Future<void> cancelAll() async {
|
||||
@@ -96,6 +113,12 @@ class FakeReminderNotificationsDriver implements ReminderNotificationsDriver {
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<bool> requestPermissions() async {
|
||||
permissionRequests += 1;
|
||||
return permissionResult;
|
||||
}
|
||||
}
|
||||
|
||||
class ScheduledCall {
|
||||
|
||||
Reference in New Issue
Block a user