32 lines
1.1 KiB
Dart
32 lines
1.1 KiB
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:marianum_mobile/access/access_requirement.dart';
|
|
import 'package:marianum_mobile/session/session.dart';
|
|
|
|
void main() {
|
|
final student = CredentialSession(username: 'max', password: 'pw');
|
|
const guardian = GuardianSession(email: 'e@x.de');
|
|
|
|
test('nextcloud is only met by sessions with a Nextcloud identity', () {
|
|
expect(AccessRequirement.nextcloud.isMetBy(student), isTrue);
|
|
expect(AccessRequirement.nextcloud.isMetBy(guardian), isFalse);
|
|
expect(AccessRequirement.nextcloud.isMetBy(null), isFalse);
|
|
});
|
|
|
|
test('guardian is only met by guardian sessions', () {
|
|
expect(AccessRequirement.guardian.isMetBy(guardian), isTrue);
|
|
expect(AccessRequirement.guardian.isMetBy(student), isFalse);
|
|
expect(AccessRequirement.guardian.isMetBy(null), isFalse);
|
|
});
|
|
|
|
test('a set is met only when every requirement is met', () {
|
|
expect(<AccessRequirement>{}.areMetBy(null), isTrue);
|
|
expect(
|
|
{
|
|
AccessRequirement.guardian,
|
|
AccessRequirement.nextcloud,
|
|
}.areMetBy(guardian),
|
|
isFalse,
|
|
);
|
|
});
|
|
}
|