tests: wipe data_class() after a first http request, to get things initialized
This commit is contained in:
parent
a3977d1715
commit
646310f1cf
|
@ -104,10 +104,10 @@ def test_form_submit(pub):
|
|||
|
||||
def test_form_submit_no_confirmation(pub):
|
||||
formdef = create_formdef()
|
||||
formdef.data_class().wipe()
|
||||
formdef.confirmation = False
|
||||
formdef.store()
|
||||
page = get_app(pub).get('/test/')
|
||||
formdef.data_class().wipe()
|
||||
next_page = page.forms[0].submit('submit')
|
||||
assert next_page.status_int == 302
|
||||
next_page = next_page.follow()
|
||||
|
@ -116,10 +116,10 @@ def test_form_submit_no_confirmation(pub):
|
|||
|
||||
def test_form_string_field_submit(pub):
|
||||
formdef = create_formdef()
|
||||
formdef.data_class().wipe()
|
||||
formdef.fields = [fields.StringField(id='0', label='string')]
|
||||
formdef.store()
|
||||
page = get_app(pub).get('/test/')
|
||||
formdef.data_class().wipe()
|
||||
next_page = page.forms[0].submit('submit') # but the field is required
|
||||
assert '<div class="error">required field</div>' in next_page.body
|
||||
next_page.forms[0]['f0'] = 'foobar'
|
||||
|
@ -136,13 +136,13 @@ def test_form_string_field_submit(pub):
|
|||
|
||||
def test_form_multi_page(pub):
|
||||
formdef = create_formdef()
|
||||
formdef.data_class().wipe()
|
||||
formdef.fields = [fields.PageField(id='0', label='1st page', type='page'),
|
||||
fields.StringField(id='1', label='string'),
|
||||
fields.PageField(id='2', label='2nd page', type='page'),
|
||||
fields.StringField(id='3', label='string 2')]
|
||||
formdef.store()
|
||||
page = get_app(pub).get('/test/')
|
||||
formdef.data_class().wipe()
|
||||
page.forms[0]['f1'] = 'foo'
|
||||
assert page.forms[0].fields['submit'][0].value_if_submitted() == 'Next'
|
||||
next_page = page.forms[0].submit('submit')
|
||||
|
@ -161,13 +161,13 @@ def test_form_multi_page(pub):
|
|||
|
||||
def test_form_multi_page_condition(pub):
|
||||
formdef = create_formdef()
|
||||
formdef.data_class().wipe()
|
||||
formdef.fields = [fields.PageField(id='0', label='1st page', type='page'),
|
||||
fields.StringField(id='1', label='string'),
|
||||
fields.PageField(id='2', label='2nd page', type='page', condition='False'),
|
||||
fields.StringField(id='3', label='string 2')]
|
||||
formdef.store()
|
||||
resp = get_app(pub).get('/test/')
|
||||
formdef.data_class().wipe()
|
||||
resp.forms[0]['f1'] = 'foo'
|
||||
resp = resp.forms[0].submit('submit') # should go straight to validation
|
||||
assert 'Check values then click submit.' in resp.body
|
||||
|
@ -178,8 +178,8 @@ def test_form_multi_page_condition(pub):
|
|||
def test_form_submit_with_user(pub):
|
||||
create_user(pub)
|
||||
formdef = create_formdef()
|
||||
formdef.data_class().wipe()
|
||||
page = login(get_app(pub), username='foo', password='foo').get('/test/')
|
||||
formdef.data_class().wipe()
|
||||
next_page = page.forms[0].submit('submit')
|
||||
assert 'Check values then click submit.' in next_page.body
|
||||
next_page = next_page.forms[0].submit('submit')
|
||||
|
@ -194,6 +194,7 @@ def test_form_submit_with_user(pub):
|
|||
def test_form_visit_existing(pub):
|
||||
user = create_user(pub)
|
||||
formdef = create_formdef()
|
||||
page = login(get_app(pub), username='foo', password='foo').get('/test/')
|
||||
formdef.data_class().wipe()
|
||||
|
||||
formdata = formdef.data_class()()
|
||||
|
@ -254,11 +255,11 @@ def test_form_no_tracking_code(pub):
|
|||
|
||||
def test_form_tracking_code(pub):
|
||||
formdef = create_formdef()
|
||||
formdef.data_class().wipe()
|
||||
formdef.fields = [fields.StringField(id='0', label='string')]
|
||||
formdef.enable_tracking_codes = True
|
||||
formdef.store()
|
||||
resp = get_app(pub).get('/test/')
|
||||
formdef.data_class().wipe()
|
||||
assert '<h3>Tracking code</h3>' in resp.body
|
||||
resp.forms[0]['f0'] = 'foobar'
|
||||
resp = resp.forms[0].submit('submit')
|
||||
|
@ -322,12 +323,12 @@ def test_form_tracking_code(pub):
|
|||
def test_form_tracking_code_as_user(pub):
|
||||
user = create_user(pub)
|
||||
formdef = create_formdef()
|
||||
formdef.data_class().wipe()
|
||||
formdef.fields = [fields.StringField(id='0', label='string')]
|
||||
formdef.enable_tracking_codes = True
|
||||
formdef.store()
|
||||
|
||||
resp = login(get_app(pub), username='foo', password='foo').get('/test/')
|
||||
formdef.data_class().wipe()
|
||||
assert '<h3>Tracking code</h3>' in resp.body
|
||||
resp.forms[0]['f0'] = 'foobar'
|
||||
resp = resp.forms[0].submit('submit')
|
||||
|
@ -419,7 +420,6 @@ def test_form_tracking_code_email(pub):
|
|||
|
||||
def test_form_invalid_tracking_code(pub):
|
||||
formdef = create_formdef()
|
||||
formdef.data_class().wipe()
|
||||
formdef.fields = [fields.StringField(id='0', label='string')]
|
||||
formdef.enable_tracking_codes = True
|
||||
formdef.store()
|
||||
|
@ -432,16 +432,19 @@ def test_form_invalid_tracking_code(pub):
|
|||
formdef2.enable_tracking_codes = True
|
||||
formdef2.store()
|
||||
|
||||
resp = get_app(pub).get('/')
|
||||
|
||||
formdata = formdef.data_class()()
|
||||
formdata.data = {'0': 'foobar'}
|
||||
formdata.store()
|
||||
|
||||
# check we can go back to it
|
||||
formdef.data_class().wipe()
|
||||
|
||||
code = pub.tracking_code_class()
|
||||
code.formdata = formdata
|
||||
code.store()
|
||||
|
||||
# check we can go back to it
|
||||
resp = get_app(pub).get('/')
|
||||
resp.forms[0]['code'] = code.id
|
||||
resp = resp.forms[0].submit()
|
||||
assert resp.location == 'http://example.net/code/%s/load' % code.id
|
||||
|
|
Loading…
Reference in New Issue