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 inspect() async => result; @override Future requestPermission() async {} @override Future openSettings() async {} }