Projet

Général

Profil

0001-testdef-use-field.set_value-in-test-run-73444.patch

Valentin Deniaud, 16 janvier 2023 11:55

Télécharger (2,02 ko)

Voir les différences:

Subject: [PATCH] testdef: use field.set_value in test run (#73444)

 tests/test_testdef.py | 25 +++++++++++++++++++++++++
 wcs/testdef.py        |  2 +-
 2 files changed, 26 insertions(+), 1 deletion(-)
tests/test_testdef.py
269 269
    assert str(excinfo.value) == 'Invalid value "xxx" for field "Test": invalid value selected.'
270 270

  
271 271

  
272
def test_item_field_display_value(pub):
273
    formdef = FormDef()
274
    formdef.name = 'test title'
275
    formdef.fields = [
276
        fields.PageField(
277
            id='0',
278
            label='1st page',
279
            type='page',
280
            post_conditions=[
281
                {'condition': {'type': 'django', 'value': 'form_var_item == "foo"'}, 'error_message': ''}
282
            ],
283
        ),
284
        fields.ItemField(id='1', label='Test', type='item', items=['foo', 'bar', 'baz'], varname='item'),
285
    ]
286
    formdef.store()
287

  
288
    formdata = formdef.data_class()()
289
    formdata.just_created()
290
    formdata.receipt_time = datetime.datetime(2021, 1, 1, 0, 0).timetuple()
291
    formdata.data['1'] = 'foo'
292

  
293
    testdef = TestDef.create_from_formdata(formdef, formdata)
294
    testdef.run(formdef)
295

  
296

  
272 297
def test_validation_items_field(pub):
273 298
    formdef = FormDef()
274 299
    formdef.name = 'test title'
wcs/testdef.py
194 194
                value = field.from_json_value(value)
195 195
                self.run_widget_validation(field, value)
196 196

  
197
            formdata.data[field.id] = value
197
            field.set_value(formdata.data, value)
198 198
            get_publisher().substitutions.invalidate_cache()
199 199

  
200 200
        for field in computed_fields:
201
-