tests: add a check on conditional pages based on a select value
This commit is contained in:
parent
eaf5772cef
commit
ac03787bc0
|
@ -229,6 +229,35 @@ def test_form_multi_page_condition(pub):
|
|||
resp = resp.forms[0].submit('previous')
|
||||
assert resp.forms[0]['f1']
|
||||
|
||||
def test_form_multi_page_condition_select(pub):
|
||||
formdef = create_formdef()
|
||||
formdef.fields = [fields.PageField(id='0', label='1st page', type='page'),
|
||||
fields.ItemField(id='1', label='select', type='item',
|
||||
required=True,
|
||||
varname='foo', items=['Foo', 'Bar']),
|
||||
fields.PageField(id='2', label='2nd page', type='page',
|
||||
condition='var_foo == "Foo"'),
|
||||
fields.PageField(id='3', label='3rd page', type='page',
|
||||
condition='var_foo == "Bar"'),
|
||||
fields.StringField(id='3', label='string 2')]
|
||||
formdef.store()
|
||||
formdef.data_class().wipe()
|
||||
resp = get_app(pub).get('/test/')
|
||||
assert not '2nd page' in resp.body
|
||||
assert not '3rd page' in resp.body
|
||||
resp.forms[0]['f1'] = 'Foo'
|
||||
resp = resp.forms[0].submit('submit')
|
||||
assert '2nd page' in resp.body
|
||||
assert not '3rd page' in resp.body
|
||||
assert '<li class="current"><span>2nd page</span>' in resp.body
|
||||
|
||||
resp = get_app(pub).get('/test/')
|
||||
resp.forms[0]['f1'] = 'Bar'
|
||||
resp = resp.forms[0].submit('submit')
|
||||
assert not '2nd page' in resp.body
|
||||
assert '3rd page' in resp.body
|
||||
assert '<li class="current"><span>3rd page</span>' in resp.body
|
||||
|
||||
def test_form_submit_with_user(pub):
|
||||
create_user(pub)
|
||||
formdef = create_formdef()
|
||||
|
|
Loading…
Reference in New Issue