1408 |
1408 |
def test_form_tracking_code_email(pub, emails):
|
1409 |
1409 |
formdef = create_formdef()
|
1410 |
1410 |
formdef.data_class().wipe()
|
1411 |
|
formdef.fields = [fields.StringField(id='0', label='string')]
|
|
1411 |
formdef.fields = [fields.StringField(id='0', label='string'),
|
|
1412 |
fields.StringField(id='1', label='string2')]
|
1412 |
1413 |
formdef.enable_tracking_codes = True
|
1413 |
1414 |
formdef.store()
|
1414 |
1415 |
|
1415 |
|
formdata = formdef.data_class()()
|
1416 |
|
formdata.data = {'0': 'foobar'}
|
1417 |
|
formdata.tracking_code = 'ABCDEF'
|
1418 |
|
formdata.store()
|
|
1416 |
app = get_app(pub)
|
|
1417 |
resp = app.get('/test/')
|
|
1418 |
resp.form['f0'] = 'barfoo'
|
|
1419 |
# autosave will be made using javascript in real world
|
|
1420 |
app.post('/test/autosave', params=resp.form.submit_fields())
|
1419 |
1421 |
|
1420 |
|
resp = get_app(pub).get('/test/code/ABCDEF/')
|
|
1422 |
tracking_code = get_displayed_tracking_code(resp)
|
|
1423 |
assert tracking_code is not None
|
|
1424 |
|
|
1425 |
resp = get_app(pub).get('/test/code/%s/' % tracking_code)
|
1421 |
1426 |
assert '<h2>Keep your tracking code</h2>' in resp.body
|
1422 |
1427 |
resp.forms[0]['email'] = 'foo@localhost'
|
1423 |
1428 |
resp = resp.forms[0].submit()
|
1424 |
1429 |
assert emails.emails.get('Tracking Code reminder')
|
1425 |
|
assert 'ABCDEF' in emails.emails.values()[0]['payload']
|
1426 |
|
assert resp.location == 'http://example.net/test/code/ABCDEF/load'
|
|
1430 |
assert tracking_code in emails.emails.values()[0]['payload']
|
|
1431 |
assert resp.location == 'http://example.net/test/code/%s/load' % tracking_code
|
|
1432 |
resp = resp.follow()
|
|
1433 |
resp = resp.follow()
|
|
1434 |
resp = resp.follow()
|
|
1435 |
assert resp.forms[1]['f0'].value == 'barfoo'
|
1427 |
1436 |
|
1428 |
1437 |
def test_form_tracking_code_remove_draft(pub):
|
1429 |
1438 |
formdef = create_formdef()
|