|
|
@@ -115,3 +115,29 @@ def test_errors_invalid(scenario, data, errors_factory):
|
|
|
assert form.errors
|
|
|
for k, error in errors_factory(scenario).items():
|
|
|
assert recursive_get(form.errors, *k)[0]['type'] == error
|
|
|
+
|
|
|
+
|
|
|
+@pytest.mark.parametrize(
|
|
|
+ 'data',
|
|
|
+ ['valid'],
|
|
|
+ indirect=True
|
|
|
+)
|
|
|
+@pytest.mark.parametrize(
|
|
|
+ 'scenario',
|
|
|
+ SCENARIOS,
|
|
|
+ indirect=True
|
|
|
+)
|
|
|
+def test_baked_instance(scenario, data):
|
|
|
+ form = scenario.form(data=data)
|
|
|
+
|
|
|
+ form.validate()
|
|
|
+
|
|
|
+ assert hasattr(form, '_baked_instance')
|
|
|
+ assert form._baked_instance is not None
|
|
|
+ assert form._baked_instance.dict() == data
|
|
|
+
|
|
|
+ for key, sub_form in iter_form(form, leafs_only=False):
|
|
|
+ if isinstance(sub_form, FormField):
|
|
|
+ assert hasattr(sub_form, '_baked_instance')
|
|
|
+ assert sub_form._baked_instance is not None
|
|
|
+ assert sub_form._baked_instance.dict() == recursive_get(data, *key)
|