Projet

Général

Profil

0003-tests-check-longer-dependency-chain-in-workflow-form.patch

Benjamin Dauvergne, 20 septembre 2019 16:27

Télécharger (3,55 ko)

Voir les différences:

Subject: [PATCH 3/5] tests: check longer dependency chain in workflow form
 (#35903)

 tests/test_form_pages.py | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
tests/test_form_pages.py
6325 6325
                'type': 'json',
6326 6326
                'value': '{% if xxx_var_bar2 %}http://remote.example.net/json-list?plop={{xxx_var_bar2}}{% endif %}'
6327 6327
            }),
6328
        fields.ItemField(type='item', id='4', label='Foo',
6329
            required=False, varname='foo2',
6330
            data_source={
6331
                'type': 'json',
6332
                'value': '{% if xxx_var_foo %}http://remote.example.net/json-list?plop={{xxx_var_foo }}{% endif %}'
6333
            }),
6328 6334
    ]
6329 6335
    st1.items.append(display_form)
6330 6336
    display_form.parent = st1
......
6354 6360
    assert live_resp.json['result']['1']['visible']
6355 6361
    assert live_resp.json['result']['2']['visible']
6356 6362
    assert live_resp.json['result']['3']['visible']
6363
    assert live_resp.json['result']['4']['visible']
6357 6364
    assert not 'items' in live_resp.json['result']['3']
6365
    assert not 'items' in live_resp.json['result']['4']
6358 6366
    resp.form['f2'] = 'plop'
6367

  
6359 6368
    live_resp = app.post('/test/1/live?modified_field_id=2', params=resp.form.submit_fields())
6360 6369
    assert live_resp.json['result']['1']['visible']
6361 6370
    assert live_resp.json['result']['2']['visible']
6362 6371
    assert live_resp.json['result']['3']['visible']
6372
    assert live_resp.json['result']['4']['visible']
6363 6373
    assert 'items' in live_resp.json['result']['3']
6374
    assert not 'items' in live_resp.json['result']['4']
6364 6375
    assert len(live_resp.json['result']['3']['items']) > 0
6365 6376

  
6366 6377
    resp.form['f3'].options = []
......
6369 6380
        resp.form['f3'].options.append((item['id'], False, item['text']))
6370 6381
    resp.form['f3'] = 'a'
6371 6382

  
6383
    live_resp = app.post('/test/1/live?modified_field_id=3', params=resp.form.submit_fields())
6384
    assert live_resp.json['result']['1']['visible']
6385
    assert live_resp.json['result']['2']['visible']
6386
    assert live_resp.json['result']['3']['visible']
6387
    assert live_resp.json['result']['4']['visible']
6388
    assert not 'items' in live_resp.json['result']['3']
6389
    assert 'items' in live_resp.json['result']['4']
6390
    assert len(live_resp.json['result']['4']['items']) > 0
6391

  
6392
    resp.form['f4'].options = []
6393
    for item in live_resp.json['result']['4']['items']:
6394
        # simulate javascript filling the <select>
6395
        resp.form['f4'].options.append((item['id'], False, item['text']))
6396
    resp.form['f4'] = 'a'
6397

  
6372 6398
    resp = resp.form.submit('submit')
6373 6399
    assert 'invalid value selected' not in resp
6374 6400
    resp = resp.follow()
......
6377 6403
    assert formdata.workflow_data['xxx_var_bar2'] == 'plop'
6378 6404
    assert formdata.workflow_data['xxx_var_foo_raw'] == 'a'
6379 6405
    assert formdata.workflow_data['xxx_var_foo'] == 'b'
6406
    assert formdata.workflow_data['xxx_var_foo2_raw'] == 'a'
6407
    assert formdata.workflow_data['xxx_var_foo2'] == 'b'
6380 6408

  
6381 6409
def test_field_live_comment_content(pub, http_requests):
6382 6410
    FormDef.wipe()
6383
-