push registration no longer depends on notification permission, reporting effective opt-in and os permission
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:marianum_mobile/api/marianumconnect/queries/telemetry_heartbeat/telemetry_heartbeat.dart';
|
||||
import 'package:marianum_mobile/push/push_registration.dart';
|
||||
|
||||
void main() {
|
||||
@@ -37,4 +38,36 @@ void main() {
|
||||
expect(AuthorizationStatus.values, hasLength(5));
|
||||
});
|
||||
});
|
||||
|
||||
group('PushRegistration.canDisplay', () {
|
||||
test('only authorized and provisional show notifications', () {
|
||||
expect(
|
||||
AuthorizationStatus.values.where(PushRegistration.canDisplay),
|
||||
unorderedEquals([
|
||||
AuthorizationStatus.authorized,
|
||||
AuthorizationStatus.provisional,
|
||||
]),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
group('osPermissionWireValue', () {
|
||||
test('maps every status', () {
|
||||
expect(osPermissionWireValue(AuthorizationStatus.authorized), 'granted');
|
||||
expect(
|
||||
osPermissionWireValue(AuthorizationStatus.provisional),
|
||||
'provisional',
|
||||
);
|
||||
expect(osPermissionWireValue(AuthorizationStatus.denied), 'denied');
|
||||
expect(
|
||||
osPermissionWireValue(AuthorizationStatus.deniedPermanently),
|
||||
'denied',
|
||||
);
|
||||
expect(
|
||||
osPermissionWireValue(AuthorizationStatus.notDetermined),
|
||||
'notDetermined',
|
||||
);
|
||||
expect(osPermissionWireValue(null), isNull);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user