Merge pull request #836 from dod-ccpo/sidebar

Applications users were invited to were not showing in the portfolios sidebar
This commit is contained in:
George Drummond
2019-05-22 15:22:05 -04:00
committed by GitHub
9 changed files with 59 additions and 30 deletions

View File

@@ -7,9 +7,12 @@ from atst.domain.portfolio_roles import PortfolioRoles
from atst.domain.applications import Applications
from atst.domain.environments import Environments
from atst.domain.permission_sets import PermissionSets, PORTFOLIO_PERMISSION_SETS
from atst.models.application_role import Status as ApplicationRoleStatus
from atst.models.portfolio_role import Status as PortfolioRoleStatus
from tests.factories import (
ApplicationFactory,
ApplicationRoleFactory,
UserFactory,
PortfolioRoleFactory,
PortfolioFactory,
@@ -164,6 +167,17 @@ def test_scoped_portfolio_returns_all_applications_for_portfolio_owner(
assert len(scoped_portfolio.applications[0].environments) == 3
def test_for_user_returns_portfolios_for_applications_user_invited_to():
bob = UserFactory.create()
portfolio = PortfolioFactory.create()
application = ApplicationFactory.create(portfolio=portfolio)
ApplicationRoleFactory.create(
application=application, user=bob, status=ApplicationRoleStatus.ACTIVE
)
assert portfolio in Portfolios.for_user(user=bob)
def test_for_user_returns_active_portfolios_for_user(portfolio, portfolio_owner):
bob = UserFactory.create()
PortfolioRoleFactory.create(

View File

@@ -34,7 +34,7 @@ def test_existing_member_accepts_valid_invite(client, user_session):
# user is redirected to the portfolio view
assert response.status_code == 302
assert (
url_for("portfolios.show_portfolio", portfolio_id=invite.portfolio.id)
url_for("applications.portfolio_applications", portfolio_id=invite.portfolio.id)
in response.headers["Location"]
)
# the one-time use invite is no longer usable
@@ -77,7 +77,7 @@ def test_new_member_accepts_valid_invite(monkeypatch, client, user_session):
# user is redirected to the portfolio view
assert response.status_code == 302
assert (
url_for("portfolios.show_portfolio", portfolio_id=portfolio.id)
url_for("applications.portfolio_applications", portfolio_id=portfolio.id)
in response.headers["Location"]
)
# the user has access to the portfolio

View File

@@ -466,19 +466,6 @@ def test_portfolios_revoke_invitation_access(post_url_assert_status):
post_url_assert_status(user, url, status)
# portfolios.show_portfolio
def test_portfolios_show_portfolio_access(get_url_assert_status):
ccpo = user_with(PermissionSets.VIEW_PORTFOLIO)
owner = user_with()
rando = user_with()
portfolio = PortfolioFactory.create(owner=owner)
url = url_for("portfolios.show_portfolio", portfolio_id=portfolio.id)
get_url_assert_status(ccpo, url, 302)
get_url_assert_status(owner, url, 302)
get_url_assert_status(rando, url, 404)
# task_orders.so_review
def test_task_orders_so_review_access(get_url_assert_status):
ccpo = UserFactory.create_ccpo()