diff --git a/atst/utils/context_processors.py b/atst/utils/context_processors.py index f3794899..6dc68e2e 100644 --- a/atst/utils/context_processors.py +++ b/atst/utils/context_processors.py @@ -96,7 +96,9 @@ def user_can_view(permission): def portfolio(): - if g.portfolio is not None: + if g.current_user is None: + return {} + elif g.portfolio is not None: active_task_orders = [ task_order for task_order in g.portfolio.task_orders if task_order.is_active ] diff --git a/tests/utils/test_context_processors.py b/tests/utils/test_context_processors.py index 722cdd4a..e2802b4e 100644 --- a/tests/utils/test_context_processors.py +++ b/tests/utils/test_context_processors.py @@ -2,7 +2,11 @@ import pytest from atst.domain.permission_sets import PermissionSets from atst.models import Permissions -from atst.utils.context_processors import get_resources_from_context, user_can_view +from atst.utils.context_processors import ( + get_resources_from_context, + user_can_view, + portfolio as portfolio_context, +) from tests.factories import * @@ -63,3 +67,14 @@ def test_user_can_view(set_g): set_g("current_user", rando) assert not user_can_view(Permissions.VIEW_APPLICATION) + + +def test_portfolio_no_user(set_g): + set_g("current_user", None) + assert portfolio_context() == {} + + +def test_portfolio_with_user(set_g): + user = UserFactory.create() + set_g("current_user", user) + assert portfolio_context() != {}