2710 |
2710 |
assert 'The form has been recorded' in resp.body
|
2711 |
2711 |
assert 'ee' in emails.emails['New form (test)']['msg'].get_payload()[1].get_payload()
|
2712 |
2712 |
|
|
2713 |
def test_form_new_table_rows_field_draft_recall(pub):
|
|
2714 |
formdef = create_formdef()
|
|
2715 |
formdef.enable_tracking_codes = True
|
|
2716 |
formdef.fields = [
|
|
2717 |
fields.PageField(id='0', label='1st page', type='page'),
|
|
2718 |
fields.StringField(id='1', label='string'),
|
|
2719 |
fields.PageField(id='2', label='2nd page', type='page'),
|
|
2720 |
]
|
|
2721 |
formdef.store()
|
|
2722 |
formdef.data_class().wipe()
|
|
2723 |
|
|
2724 |
formdef.store()
|
|
2725 |
|
|
2726 |
app = get_app(pub)
|
|
2727 |
resp = app.get('/test/')
|
|
2728 |
resp.form['f1'] = 'test'
|
|
2729 |
resp = resp.form.submit('submit')
|
|
2730 |
resp = resp.form.submit('submit')
|
|
2731 |
assert 'Check values then click submit.' in resp.body
|
|
2732 |
tracking_code = get_displayed_tracking_code(resp)
|
|
2733 |
assert tracking_code is not None
|
|
2734 |
|
|
2735 |
# add new table rows field to formdef
|
|
2736 |
formdef.fields.append(
|
|
2737 |
fields.TableRowsField(id='3', label='table', type='tablerows',
|
|
2738 |
columns=['a', 'b'], required=False)
|
|
2739 |
)
|
|
2740 |
formdef.store()
|
|
2741 |
|
|
2742 |
# restore form on validation page
|
|
2743 |
resp = get_app(pub).get('/')
|
|
2744 |
resp.form['code'] = tracking_code
|
|
2745 |
resp = resp.form.submit().follow().follow().follow()
|
|
2746 |
|
|
2747 |
# validate form
|
|
2748 |
resp = resp.forms[1].submit()
|
|
2749 |
resp = resp.follow()
|
|
2750 |
assert 'The form has been recorded' in resp.body
|
|
2751 |
assert formdef.data_class().count() == 1
|
|
2752 |
assert formdef.data_class().select()[0].data['1'] == 'test'
|
|
2753 |
assert formdef.data_class().select()[0].data['3'] is None
|
|
2754 |
|
2713 |
2755 |
def test_formdata_attachment_download(pub):
|
2714 |
2756 |
create_user(pub)
|
2715 |
2757 |
wf = Workflow(name='status')
|