tests: add tests for register-comment workflow action

This commit is contained in:
Frédéric Péters 2014-12-31 15:59:21 +01:00
parent 3c54650bde
commit 34d84e9a0b
1 changed files with 38 additions and 0 deletions

View File

@ -11,6 +11,7 @@ from wcs.workflows import WorkflowStatusItem
from wcs.wf.anonymise import AnonymiseWorkflowStatusItem
from wcs.wf.dispatch import DispatchWorkflowStatusItem
from wcs.wf.jump import JumpWorkflowStatusItem
from wcs.wf.register_comment import RegisterCommenterWorkflowStatusItem
from wcs.wf.remove import RemoveWorkflowStatusItem
from wcs.wf.roles import AddRoleWorkflowStatusItem, RemoveRoleWorkflowStatusItem
@ -201,3 +202,40 @@ def test_remove():
assert not formdef.data_class().has_key(formdata.id)
req.response.filter = {}
assert req.session.message
def test_register_comment():
class MockSubstitutionVariables(object):
def get_substitution_variables(self):
return {'bar': 'Foobar', 'foo': '1 < 3'}
pub.substitutions.feed(MockSubstitutionVariables())
formdef = FormDef()
formdef.name = 'baz'
formdef.fields = []
formdef.store()
formdata = formdef.data_class()()
formdata.just_created()
formdata.store()
item = RegisterCommenterWorkflowStatusItem()
item.comment = 'Hello world'
item.perform(formdata)
assert formdata.evolution[-1].display_parts()[-1] == '<p>Hello world</p>'
item.comment = '<div>Hello world</div>'
item.perform(formdata)
assert formdata.evolution[-1].display_parts()[-1] == '<div>Hello world</div>'
item.comment = '[test]'
item.perform(formdata)
assert formdata.evolution[-1].display_parts()[-1] == '<p>[test]</p>'
item.comment = '[bar]'
item.perform(formdata)
assert formdata.evolution[-1].display_parts()[-1] == '<p>Foobar</p>'
item.comment = '[foo]'
item.perform(formdata)
assert formdata.evolution[-1].display_parts()[-1] == '<p>1 &lt; 3</p>'