877 |
877 |
assert resp.body.index('<legend>Additional parameters</legend>') > \
|
878 |
878 |
resp.body.index('<label for="form_data_source">Data Source</label>')
|
879 |
879 |
|
|
880 |
def test_form_edit_item_field(pub):
|
|
881 |
create_superuser(pub)
|
|
882 |
create_role()
|
|
883 |
|
|
884 |
FormDef.wipe()
|
|
885 |
formdef = FormDef()
|
|
886 |
formdef.name = 'form title'
|
|
887 |
formdef.fields = [fields.ItemField(id='1', label='1st field', type='item')]
|
|
888 |
formdef.store()
|
|
889 |
|
|
890 |
app = login(get_app(pub))
|
|
891 |
resp = app.get('/backoffice/forms/1/')
|
|
892 |
resp = resp.click(href='fields/')
|
|
893 |
assert '1st field' in resp.body
|
|
894 |
|
|
895 |
resp = resp.click('Edit', href='1/')
|
|
896 |
assert resp.forms[0]['label'].value == '1st field'
|
|
897 |
resp.forms[0]['label'] = 'changed field'
|
|
898 |
resp.forms[0]['required'] = False
|
|
899 |
resp = resp.forms[0].submit('items$add_element')
|
|
900 |
# this adds a second field
|
|
901 |
assert 'items$element0' in resp.form.fields
|
|
902 |
assert 'items$element1' in resp.form.fields
|
|
903 |
# but don't fill anything
|
|
904 |
resp = resp.forms[0].submit('submit')
|
|
905 |
assert resp.location == 'http://example.net/backoffice/forms/1/fields/'
|
|
906 |
resp = resp.follow()
|
|
907 |
|
|
908 |
assert FormDef.get(1).fields[0].label == 'changed field'
|
|
909 |
assert FormDef.get(1).fields[0].required == False
|
|
910 |
assert FormDef.get(1).fields[0].items is None
|
|
911 |
|
|
912 |
# edit and fill with one item
|
|
913 |
resp = resp.click('Edit', href='1/')
|
|
914 |
assert resp.forms[0]['label'].value == 'changed field'
|
|
915 |
resp.forms[0]['items$element0'] = 'XXX'
|
|
916 |
resp = resp.forms[0].submit('submit')
|
|
917 |
assert resp.location == 'http://example.net/backoffice/forms/1/fields/'
|
|
918 |
assert FormDef.get(1).fields[0].items == ['XXX']
|
|
919 |
|
880 |
920 |
def test_form_legacy_int_id(pub):
|
881 |
921 |
create_superuser(pub)
|
882 |
922 |
create_role()
|