diff --git a/atst/models/user.py b/atst/models/user.py index 83f34326..3f980453 100644 --- a/atst/models/user.py +++ b/atst/models/user.py @@ -80,6 +80,9 @@ class User( def displayname(self): return self.full_name + def is_app_member(self, application): + return self in application.users + def __repr__(self): return "".format( self.full_name, self.dod_id, self.email, self.has_portfolios, self.id diff --git a/tests/models/test_user.py b/tests/models/test_user.py index 2a3ae51e..438c53e6 100644 --- a/tests/models/test_user.py +++ b/tests/models/test_user.py @@ -26,6 +26,19 @@ def test_cannot_update_dod_id(session): session.commit() +def test_is_app_member(): + user = UserFactory.create() + app = ApplicationFactory.create() + ApplicationRoleFactory.create(user=user, application=app) + assert user.is_app_member(app) + + +def test_is_not_app_member(): + user = UserFactory.create() + app = ApplicationFactory.create() + assert not user.is_app_member(app) + + def test_deleted_application_roles_are_ignored(session): user = UserFactory.create() app = ApplicationFactory.create()