Files
Client/test/access/access_requirement_test.dart
T

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,
);
});
}