diff --git a/tests/test_form_pages.py b/tests/test_form_pages.py index b78bcb3ae..2c47adf0e 100644 --- a/tests/test_form_pages.py +++ b/tests/test_form_pages.py @@ -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 '
  • 2nd page' 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 '
  • 3rd page' in resp.body + def test_form_submit_with_user(pub): create_user(pub) formdef = create_formdef()