import pytest @pytest.fixture def scenario(request): return request.getfixturevalue(request.param) VALID_SCENARIOS = [ 'scenario_simple', 'scenario_nested' ] INVALID_SCENARIOS = [ 'scenario_simple_bad', 'scenario_nested_bad', ] @pytest.mark.parametrize( 'scenario', VALID_SCENARIOS + INVALID_SCENARIOS, indirect=True ) def test_process(scenario): assert scenario.wtf.data == scenario.pydantic.data assert scenario.wtf_formdata.data == scenario.pydantic_formdata.data @pytest.mark.parametrize( 'scenario', VALID_SCENARIOS, indirect=True ) def test_validate(scenario): assert scenario.wtf.validate() assert scenario.wtf_formdata.validate() assert scenario.pydantic.validate() assert scenario.pydantic_formdata.validate() @pytest.mark.parametrize( 'scenario', INVALID_SCENARIOS, indirect=True ) def test_errors(scenario): assert scenario.wtf.validate() assert not scenario.wtf_formdata.validate() assert scenario.pydantic.validate() assert not scenario.pydantic_formdata.validate() assert scenario.wtf.errors == {} assert scenario.wtf_formdata.errors assert scenario.pydantic.errors == {} assert scenario.pydantic_formdata.errors