Projet

Général

Profil

0002-tests-add-test-for-autosave-items-field-36893.patch

Frédéric Péters, 14 octobre 2019 11:57

Télécharger (2,22 ko)

Voir les différences:

Subject: [PATCH 2/2] tests: add test for autosave/items field (#36893)

 tests/test_form_pages.py | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
tests/test_form_pages.py
4425 4425
    assert json.loads(ajax_resp.body)['result'] == 'error'
4426 4426
    assert formdef.data_class().select()[0].data['1'] == 'foobar3'
4427 4427

  
4428
def test_form_autosave_with_items_field(pub):
4429
    formdef = create_formdef()
4430
    formdef.data_class().wipe()
4431
    formdef.fields = [fields.PageField(id='0', label='1st page', type='page'),
4432
            fields.StringField(id='1', label='string', varname='foo'),
4433
            fields.PageField(id='2', label='2nd page', type='page'),
4434
            fields.ItemsField(id='3', label='items', type='items',
4435
                items=[x.encode(pub.site_charset) for x in (u'pomme', u'poire', u'pêche', u'abricot')]),
4436
    ]
4437
    formdef.enable_tracking_codes = True
4438
    formdef.store()
4439

  
4440
    app = get_app(pub)
4441
    resp = app.get('/test/')
4442
    resp.form['f1'] = 'bar'
4443

  
4444
    app.post('/test/autosave', params=resp.form.submit_fields())
4445
    assert formdef.data_class().count() == 1
4446
    formdata = formdef.data_class().select()[0]
4447
    assert formdata.status == 'draft'
4448
    assert formdef.data_class().select()[0].data['1'] == 'bar'
4449
    assert formdef.data_class().select()[0].data.get('3') == None
4450

  
4451
    resp = resp.forms[0].submit('submit')
4452
    resp.form['f3$element1'].checked = True
4453
    resp.form['f3$element3'].checked = True
4454
    app.post('/test/autosave', params=resp.form.submit_fields())
4455
    assert formdef.data_class().count() == 1
4456
    assert formdef.data_class().select()[0].data['1'] == 'bar'
4457
    assert formdef.data_class().select()[0].data['3'] == ['poire', 'abricot']
4458

  
4428 4459
def test_form_autosave_with_parameterized_datasource(pub):
4429 4460
    formdef = create_formdef()
4430 4461
    formdef.fields = [fields.PageField(id='0', label='1st page', type='page'),
4431
-