| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- from itertools import product
- import pytest
- @pytest.fixture
- def scenario(request):
- return request.getfixturevalue(request.param)
- FORMS_FORMDATA = [
- 'wtf_formdata', 'pydantic_formdata'
- ]
- FORMS_DATA = [
- 'wtf', 'pydantic',
- ]
- VALID_SCENARIOS = [
- 'scenario_simple',
- 'scenario_nested'
- ]
- INVALID_SCENARIOS = [
- 'scenario_simple_bad',
- 'scenario_nested_bad',
- ]
- @pytest.mark.xfail
- @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, form_name',
- product(VALID_SCENARIOS + INVALID_SCENARIOS, FORMS_FORMDATA + FORMS_DATA),
- indirect=['scenario']
- )
- def test_data(scenario, form_name):
- form = getattr(scenario, form_name)
- assert form.data == scenario.data
- @pytest.mark.xfail
- @pytest.mark.parametrize(
- 'scenario, form_name',
- product(VALID_SCENARIOS, FORMS_FORMDATA + FORMS_DATA),
- indirect=['scenario']
- )
- def test_validate(scenario, form_name):
- form = getattr(scenario, form_name)
- assert form.validate()
- @pytest.mark.xfail
- @pytest.mark.parametrize(
- 'scenario, form_name',
- product(INVALID_SCENARIOS, FORMS_FORMDATA),
- indirect=['scenario']
- )
- def test_errors_formdata(scenario, form_name):
- form = getattr(scenario, form_name)
- assert not form.validate()
- assert form.errors
- @pytest.mark.xfail
- @pytest.mark.parametrize(
- 'scenario, form_name',
- product(INVALID_SCENARIOS, FORMS_DATA),
- indirect=['scenario']
- )
- def test_errors_data(scenario, form_name):
- form = getattr(scenario, form_name)
- assert form.validate()
- assert form.errors == {}
|