48 lines
1.4 KiB
Dart
48 lines
1.4 KiB
Dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:ignis_app/features/settings/models/notification_permission_status.dart';
|
|
import 'package:ignis_app/features/settings/providers/settings_providers.dart';
|
|
import 'package:ignis_app/features/settings/services/notification_permission_status_service.dart';
|
|
|
|
void main() {
|
|
TestWidgetsFlutterBinding.ensureInitialized();
|
|
|
|
test(
|
|
'notification permission status provider returns service result',
|
|
() async {
|
|
final container = ProviderContainer(
|
|
overrides: [
|
|
notificationPermissionStatusServiceProvider.overrideWithValue(
|
|
_FakeNotificationPermissionStatusService(
|
|
NotificationPermissionStatus.requestable,
|
|
),
|
|
),
|
|
],
|
|
);
|
|
addTearDown(container.dispose);
|
|
|
|
final status = await container.read(
|
|
notificationPermissionStatusProvider.future,
|
|
);
|
|
|
|
expect(status, NotificationPermissionStatus.requestable);
|
|
},
|
|
);
|
|
}
|
|
|
|
class _FakeNotificationPermissionStatusService
|
|
implements NotificationPermissionStatusService {
|
|
final NotificationPermissionStatus result;
|
|
|
|
_FakeNotificationPermissionStatusService(this.result);
|
|
|
|
@override
|
|
Future<NotificationPermissionStatus> inspect() async => result;
|
|
|
|
@override
|
|
Future<void> requestPermission() async {}
|
|
|
|
@override
|
|
Future<void> openSettings() async {}
|
|
}
|