Application users should have access to portfolio landing page.
- Adds override to portfolio landing page access check to see if user has access to any applications within the portfolio. - Route for accepting an application invitation redirects directly to portfolio applications route. - Tests ensure application user only sees apps the user has access to on the portfolio landing page.
This commit is contained in:
@@ -16,8 +16,26 @@ def test_accept_application_invitation(client, user_session):
|
||||
|
||||
assert response.status_code == 302
|
||||
expected_location = url_for(
|
||||
"portfolios.show_portfolio",
|
||||
"applications.portfolio_applications",
|
||||
portfolio_id=application.portfolio_id,
|
||||
_external=True,
|
||||
)
|
||||
assert response.location == expected_location
|
||||
|
||||
|
||||
def test_accept_application_invitation_end_to_end(client, user_session):
|
||||
user = UserFactory.create()
|
||||
application = ApplicationFactory.create(name="Millenium Falcon")
|
||||
app_role = ApplicationRoleFactory.create(application=application, user=user)
|
||||
invite = ApplicationInvitationFactory.create(
|
||||
role=app_role, user=user, inviter=application.portfolio.owner
|
||||
)
|
||||
|
||||
user_session(user)
|
||||
response = client.get(
|
||||
url_for("applications.accept_invitation", token=invite.token),
|
||||
follow_redirects=True,
|
||||
)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert application.name in response.data.decode()
|
||||
|
Reference in New Issue
Block a user