tests: dispatch and add/remove roles
This commit is contained in:
parent
65a60554c1
commit
9b4ed2819c
|
@ -7,7 +7,9 @@ from quixote.http_request import HTTPRequest
|
|||
from wcs.formdef import FormDef
|
||||
from wcs.roles import Role
|
||||
from wcs.workflows import WorkflowStatusItem
|
||||
from wcs.wf.dispatch import DispatchWorkflowStatusItem
|
||||
from wcs.wf.jump import JumpWorkflowStatusItem
|
||||
from wcs.wf.roles import AddRoleWorkflowStatusItem, RemoveRoleWorkflowStatusItem
|
||||
|
||||
from utilities import create_temporary_pub
|
||||
|
||||
|
@ -15,6 +17,9 @@ def setup_module(module):
|
|||
cleanup()
|
||||
global pub
|
||||
pub = create_temporary_pub()
|
||||
req = HTTPRequest(None, {})
|
||||
req.user = None
|
||||
pub._set_request(req)
|
||||
|
||||
def teardown_module(module):
|
||||
global pub
|
||||
|
@ -93,3 +98,61 @@ def test_check_auth():
|
|||
formdef.workflow_roles = {'_receiver': user.id}
|
||||
formdata.workflow_roles = None
|
||||
assert status_item.check_auth(formdata, user) is True
|
||||
|
||||
def test_dispatch():
|
||||
formdef = FormDef()
|
||||
formdef.name = 'baz'
|
||||
formdef.store()
|
||||
|
||||
item = DispatchWorkflowStatusItem()
|
||||
|
||||
formdata = formdef.data_class()()
|
||||
item.perform(formdata)
|
||||
assert not formdata.workflow_roles
|
||||
|
||||
formdata = formdef.data_class()()
|
||||
item.role_key = '_receiver'
|
||||
item.role_id = '1'
|
||||
item.perform(formdata)
|
||||
assert formdata.workflow_roles == {'_receiver': '1'}
|
||||
|
||||
def test_roles():
|
||||
user = pub.user_class()
|
||||
user.store()
|
||||
|
||||
formdef = FormDef()
|
||||
formdef.name = 'baz'
|
||||
formdef.store()
|
||||
|
||||
formdata = formdef.data_class()()
|
||||
formdata.user_id = user.id
|
||||
|
||||
item = AddRoleWorkflowStatusItem()
|
||||
|
||||
item.perform(formdata)
|
||||
assert not pub.user_class.get(user.id).roles
|
||||
|
||||
item.role_id = '1'
|
||||
item.perform(formdata)
|
||||
assert pub.user_class.get(user.id).roles == ['1']
|
||||
|
||||
user.roles = None
|
||||
user.store()
|
||||
item = RemoveRoleWorkflowStatusItem()
|
||||
|
||||
item.perform(formdata)
|
||||
assert not pub.user_class.get(user.id).roles
|
||||
|
||||
item.role_id = '1'
|
||||
item.perform(formdata)
|
||||
assert not pub.user_class.get(user.id).roles
|
||||
|
||||
user.roles = ['1']
|
||||
user.store()
|
||||
item.perform(formdata)
|
||||
assert not pub.user_class.get(user.id).roles
|
||||
|
||||
user.roles = ['2', '1']
|
||||
user.store()
|
||||
item.perform(formdata)
|
||||
assert pub.user_class.get(user.id).roles == ['2']
|
||||
|
|
Loading…
Reference in New Issue