Projet

Général

Profil

0001-forms-autosave-when-user-asks-for-tracking-code-popu.patch

Frédéric Péters, 22 septembre 2018 13:08

Télécharger (2,68 ko)

Voir les différences:

Subject: [PATCH] forms: autosave when user asks for tracking code popup
 (#26630)

 tests/test_form_pages.py             | 25 +++++++++++++++++--------
 wcs/qommon/static/js/qommon.forms.js |  1 +
 2 files changed, 18 insertions(+), 8 deletions(-)
tests/test_form_pages.py
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()
wcs/qommon/static/js/qommon.forms.js
27 27
      });
28 28
    }
29 29
    timeout_id = window.setTimeout(autosave, 5000);
30
    $('#tracking-code a').on('click', autosave);
30 31
  }
31 32
  $('.date-pick').each(function() {
32 33
    var $date_input = $(this);
33
-