set portfolio member permission sets

This commit is contained in:
dandds
2019-03-07 20:11:39 -05:00
parent 798eb7e1b0
commit 8af3986a2d
8 changed files with 130 additions and 6 deletions

View File

@@ -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

View File

@@ -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"])

View File

@@ -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):