tests: add a more high level test of wscall/attachment (#10559)
This commit is contained in:
parent
e1f9c6b4dc
commit
b060b70668
|
@ -1417,6 +1417,56 @@ def test_backoffice_wscall_failure_display(pub):
|
|||
assert (' with the number %s.' % number31.get_display_id()) in resp.body
|
||||
assert not 'Error during webservice call' in resp.body
|
||||
|
||||
def test_backoffice_wscall_attachment(pub):
|
||||
create_user(pub)
|
||||
create_environment(pub)
|
||||
formdef = FormDef.get_by_urlname('form-title')
|
||||
form_class = formdef.data_class()
|
||||
|
||||
number31 = [x for x in form_class.select() if x.data['1'] == 'FOO BAR 30'][0]
|
||||
|
||||
# attach a custom workflow
|
||||
workflow = Workflow(name='wscall')
|
||||
st1 = workflow.add_status('Status1', number31.status.split('-')[1])
|
||||
|
||||
wscall = WebserviceCallStatusItem()
|
||||
wscall.id = '_wscall'
|
||||
wscall.varname = 'xxx'
|
||||
wscall.response_type = 'attachment'
|
||||
wscall.url = 'http://remote.example.net/xml'
|
||||
wscall.action_on_bad_data = ':stop'
|
||||
wscall.record_errors = True
|
||||
st1.items.append(wscall)
|
||||
wscall.parent = st1
|
||||
|
||||
again = ChoiceWorkflowStatusItem()
|
||||
again.id = '_again'
|
||||
again.label = 'Again'
|
||||
again.by = ['_receiver']
|
||||
again.status = st1.id
|
||||
st1.items.append(again)
|
||||
again.parent = st1
|
||||
|
||||
workflow.store()
|
||||
|
||||
formdef.workflow_id = workflow.id
|
||||
formdef.store()
|
||||
|
||||
app = login(get_app(pub))
|
||||
|
||||
resp = app.get('/backoffice/management/form-title/%s/' % number31.id)
|
||||
assert (' with the number %s.' % number31.get_display_id()) in resp.body
|
||||
assert 'Again' in resp.body
|
||||
resp = resp.forms[0].submit('button_again')
|
||||
resp = resp.follow()
|
||||
formdata = formdef.data_class().get(number31.id)
|
||||
assert formdata.evolution[-1].parts[0].orig_filename == 'xxx.xml'
|
||||
assert formdata.evolution[-1].parts[0].content_type == 'text/xml'
|
||||
assert formdata.get_substitution_variables()['attachments'].xxx.filename == 'xxx.xml'
|
||||
resp = app.get(formdata.get_substitution_variables()['attachments'].xxx.url)
|
||||
resp = resp.follow()
|
||||
assert resp.body == '<?xml version="1.0"><foo/>'
|
||||
|
||||
def test_backoffice_wfedit(pub):
|
||||
user = create_user(pub)
|
||||
create_environment(pub)
|
||||
|
|
Loading…
Reference in New Issue