Projet

Général

Profil

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

Benjamin Dauvergne, 08 janvier 2020 22:32

Télécharger (3,55 ko)

Voir les différences:

Subject: [PATCH] tests: check longer dependency chain in workflow form
 (#38852)

 tests/test_form_pages.py | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
tests/test_form_pages.py
6471 6471
                'type': 'json',
6472 6472
                'value': '{% if xxx_var_bar2 %}http://remote.example.net/json-list?plop={{xxx_var_bar2}}{% endif %}'
6473 6473
            }),
6474
        fields.ItemField(type='item', id='4', label='Foo',
6475
            required=False, varname='foo2',
6476
            data_source={
6477
                'type': 'json',
6478
                'value': '{% if xxx_var_foo %}http://remote.example.net/json-list?plop={{xxx_var_foo }}{% endif %}'
6479
            }),
6474 6480
    ]
6475 6481
    st1.items.append(display_form)
6476 6482
    display_form.parent = st1
......
6507 6513
    assert live_resp.json['result']['1']['visible']
6508 6514
    assert live_resp.json['result']['2']['visible']
6509 6515
    assert live_resp.json['result']['3']['visible']
6516
    assert live_resp.json['result']['4']['visible']
6510 6517
    assert not 'items' in live_resp.json['result']['3']
6518
    assert not 'items' in live_resp.json['result']['4']
6511 6519
    resp.form['f2'] = 'plop'
6520

  
6512 6521
    live_resp = app.post('/test/1/live?modified_field_id=2', params=resp.form.submit_fields())
6513 6522
    assert live_resp.json['result']['1']['visible']
6514 6523
    assert live_resp.json['result']['2']['visible']
6515 6524
    assert live_resp.json['result']['3']['visible']
6525
    assert live_resp.json['result']['4']['visible']
6516 6526
    assert 'items' in live_resp.json['result']['3']
6527
    assert not 'items' in live_resp.json['result']['4']
6517 6528
    assert len(live_resp.json['result']['3']['items']) > 0
6518 6529

  
6519 6530
    resp.form['f3'].options = []
......
6522 6533
        resp.form['f3'].options.append((item['id'], False, item['text']))
6523 6534
    resp.form['f3'] = 'a'
6524 6535

  
6536
    live_resp = app.post('/test/1/live?modified_field_id=3', params=resp.form.submit_fields())
6537
    assert live_resp.json['result']['1']['visible']
6538
    assert live_resp.json['result']['2']['visible']
6539
    assert live_resp.json['result']['3']['visible']
6540
    assert live_resp.json['result']['4']['visible']
6541
    assert not 'items' in live_resp.json['result']['3']
6542
    assert 'items' in live_resp.json['result']['4']
6543
    assert len(live_resp.json['result']['4']['items']) > 0
6544

  
6545
    resp.form['f4'].options = []
6546
    for item in live_resp.json['result']['4']['items']:
6547
        # simulate javascript filling the <select>
6548
        resp.form['f4'].options.append((item['id'], False, item['text']))
6549
    resp.form['f4'] = 'a'
6550

  
6525 6551
    resp = resp.form.submit('submit')
6526 6552
    assert 'invalid value selected' not in resp
6527 6553
    resp = resp.follow()
......
6530 6556
    assert formdata.workflow_data['xxx_var_bar2'] == 'plop'
6531 6557
    assert formdata.workflow_data['xxx_var_foo_raw'] == 'a'
6532 6558
    assert formdata.workflow_data['xxx_var_foo'] == 'b'
6559
    assert formdata.workflow_data['xxx_var_foo2_raw'] == 'a'
6560
    assert formdata.workflow_data['xxx_var_foo2'] == 'b'
6533 6561

  
6534 6562
def test_field_live_comment_content(pub, http_requests):
6535 6563
    FormDef.wipe()
6536
-