| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import pytest
- from pydantic_form.iterators import iter_form, iter_schema, iter_form_class
- @pytest.fixture
- def instance_factory(request):
- def _factory(scenario, data):
- instances = dict(
- schema_class=scenario.schema,
- schema=scenario.schema(**data),
- form_class=scenario.wtf_form,
- form=scenario.wtf_form()
- )
- return instances[request.param]
- return _factory
- @pytest.mark.parametrize(
- 'scenario',
- [
- 'scenario_simple',
- 'scenario_nested',
- 'scenario_double_nested'
- ], indirect=True
- )
- def test_iterators(scenario):
- data = scenario.data_factory.valid()
- keys = scenario.keys
- assert [k for k, _ in iter_form_class(scenario.form)] == keys
- form = scenario.form()
- assert [k for k, _ in iter_form_class(scenario.form)] == keys
- assert [k for k, _ in iter_form(form)] == keys
- assert [k for k, _ in iter_schema(scenario.schema)] == keys
- schema_instance = scenario.schema(**data)
- assert [k for k, _ in iter_schema(schema_instance)] == keys
|