Files
ignis_app/test/notification_permission_status_provider_test.dart
2026-05-15 11:26:23 +07:00

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 {}
}