ApplicationRoles.create should accept permission set names

This commit is contained in:
dandds 2019-04-11 11:32:17 -04:00
parent 50a532ddbb
commit 265833f3fc
2 changed files with 15 additions and 6 deletions

View File

@ -1,13 +1,20 @@
from atst.database import db
from atst.models.application_role import ApplicationRole
from atst.domain.permission_sets import PermissionSets
class ApplicationRoles(object):
@classmethod
def create(cls, user, application, permission_sets):
def _permission_sets_for_names(cls, set_names):
return PermissionSets.get_many(set_names)
@classmethod
def create(cls, user, application, permission_set_names):
application_role = ApplicationRole(user=user, application_id=application.id)
application_role.permission_sets = permission_sets
application_role.permission_sets = ApplicationRoles._permission_sets_for_names(
permission_set_names
)
db.session.add(application_role)
db.session.commit()

View File

@ -7,12 +7,14 @@ def test_create_application_role():
application = ApplicationFactory.create()
user = UserFactory.create()
permission_sets = PermissionSets.get_many([PermissionSets.EDIT_APPLICATION_TEAM])
application_role = ApplicationRoles.create(
application=application, user=user, permission_sets=permission_sets
application=application,
user=user,
permission_set_names=[PermissionSets.EDIT_APPLICATION_TEAM],
)
assert application_role.permission_sets == permission_sets
assert application_role.permission_sets == PermissionSets.get_many(
[PermissionSets.EDIT_APPLICATION_TEAM]
)
assert application_role.application == application
assert application_role.user == user