import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:marianum_mobile/push/push_registration.dart'; void main() { group('PushRegistration.isPermissionUsable', () { test('explicit denial blocks registration', () { for (final status in [ AuthorizationStatus.denied, AuthorizationStatus.deniedPermanently, ]) { expect( PushRegistration.isPermissionUsable(status), isFalse, reason: '$status should block registration', ); } }); test('all other statuses allow registration', () { const usable = [ AuthorizationStatus.authorized, AuthorizationStatus.provisional, AuthorizationStatus.notDetermined, ]; for (final status in usable) { expect( PushRegistration.isPermissionUsable(status), isTrue, reason: '$status should be usable', ); } }); test('covers every AuthorizationStatus value', () { // Guard: if firebase_messaging ever adds a status, revisit the gate. expect(AuthorizationStatus.values, hasLength(5)); }); }); }