5744 |
5744 |
assert formdata.data['2'] == 'plop'
|
5745 |
5745 |
assert formdata.data['3'] == 'a'
|
5746 |
5746 |
assert formdata.data['3_display'] == 'b'
|
|
5747 |
|
|
5748 |
|
|
5749 |
def test_field_live_condition_unknown_page_id(pub):
|
|
5750 |
FormDef.wipe()
|
|
5751 |
formdef = FormDef()
|
|
5752 |
formdef.name = 'Foo'
|
|
5753 |
formdef.fields = [
|
|
5754 |
fields.PageField(id='0', label='2nd page', type='page'),
|
|
5755 |
fields.StringField(type='string', id='1', label='Bar', size='40',
|
|
5756 |
required=True, varname='bar'),
|
|
5757 |
fields.StringField(type='string', id='2', label='Foo', size='40',
|
|
5758 |
required=True, varname='foo',
|
|
5759 |
condition={'type': 'django', 'value': 'form_var_bar == "bye"'}),
|
|
5760 |
fields.PageField(id='3', label='1st page', type='page'),
|
|
5761 |
fields.StringField(type='string', id='4', label='Baz', size='40',
|
|
5762 |
required=True, varname='baz'),
|
|
5763 |
]
|
|
5764 |
formdef.store()
|
|
5765 |
|
|
5766 |
app = get_app(pub)
|
|
5767 |
resp = app.get('/foo/')
|
|
5768 |
assert 'f1' in resp.form.fields
|
|
5769 |
assert 'f2' in resp.form.fields
|
|
5770 |
assert resp.html.find('div', {'data-field-id': '1'}).attrs['data-live-source'] == 'true'
|
|
5771 |
assert resp.html.find('div', {'data-field-id': '2'}).attrs.get('style') == 'display: none'
|
|
5772 |
resp.form['f1'] = 'hello'
|
|
5773 |
params = resp.form.submit_fields()
|
|
5774 |
params = [(key, value if key != 'page_id' else 'eiuiu') for key, value in params]
|
|
5775 |
app.post('/foo/live', params=params)
|
5747 |
|
-
|