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({}.areMetBy(null), isTrue); expect( { AccessRequirement.guardian, AccessRequirement.nextcloud, }.areMetBy(guardian), isFalse, ); }); }