ApplicationRoles.create should accept permission set names
This commit is contained in:
parent
50a532ddbb
commit
265833f3fc
@ -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()
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user