set portfolio member permission sets
This commit is contained in:
@@ -63,3 +63,22 @@ def test_portfolio_role_permissions():
|
||||
PortfolioRoles.portfolio_role_permissions(portfolio_two, new_user)
|
||||
== default_perms
|
||||
)
|
||||
|
||||
|
||||
def test_add_portfolio_role_with_permission_sets():
|
||||
portfolio = PortfolioFactory.create()
|
||||
new_user = UserFactory.create()
|
||||
permission_sets = ["edit_portfolio_application_management"]
|
||||
port_role = PortfolioRoles.add(
|
||||
new_user, portfolio.id, "developer", permission_sets=permission_sets
|
||||
)
|
||||
assert len(port_role.permission_sets) == 5
|
||||
expected_names = [
|
||||
"edit_portfolio_application_management",
|
||||
"view_portfolio_application_management",
|
||||
"view_portfolio_funding",
|
||||
"view_portfolio_reports",
|
||||
"view_portfolio_admin",
|
||||
]
|
||||
actual_names = [prms.name for prms in port_role.permission_sets]
|
||||
assert expected_names == expected_names
|
||||
|
||||
@@ -47,7 +47,14 @@ def test_new_member_accepts_valid_invite(monkeypatch, client, user_session):
|
||||
user_session(portfolio.owner)
|
||||
client.post(
|
||||
url_for("portfolios.create_member", portfolio_id=portfolio.id),
|
||||
data={"portfolio_role": "developer", **user_info},
|
||||
data={
|
||||
"portfolio_role": "developer",
|
||||
"perms_app_mgmt": "view_portfolio_application_management",
|
||||
"perms_funding": "view_portfolio_funding",
|
||||
"perms_reporting": "view_portfolio_reports",
|
||||
"perms_portfolio_mgmt": "view_portfolio_admin",
|
||||
**user_info,
|
||||
},
|
||||
)
|
||||
|
||||
user = Users.get_by_dod_id(user_info["dod_id"])
|
||||
|
||||
@@ -85,6 +85,10 @@ def test_create_member(client, user_session):
|
||||
"last_name": "Zuckerman",
|
||||
"email": "some_pig@zuckermans.com",
|
||||
"portfolio_role": "developer",
|
||||
"perms_app_mgmt": "view_portfolio_application_management",
|
||||
"perms_funding": "view_portfolio_funding",
|
||||
"perms_reporting": "view_portfolio_reports",
|
||||
"perms_portfolio_mgmt": "view_portfolio_admin",
|
||||
},
|
||||
follow_redirects=True,
|
||||
)
|
||||
@@ -94,6 +98,8 @@ def test_create_member(client, user_session):
|
||||
assert user.has_portfolios
|
||||
assert user.invitations
|
||||
assert len(queue.get_queue()) == queue_length + 1
|
||||
portfolio_role = user.portfolio_roles[0]
|
||||
assert len(portfolio_role.permission_sets) == 4
|
||||
|
||||
|
||||
def test_view_member_shows_role(client, user_session):
|
||||
|
||||
Reference in New Issue
Block a user