def test_error_load_single_field_type(single_schema): with pytest.raises(ValidationError) as excinfo: schema_load(single_schema, {"child": {"id": "foo"}}) errors = excinfo.value.messages assert errors == { "child": {"id": [fields.Integer().error_messages["invalid"]]} }
def test_error_load_many_missing(many_schema, error_messages): with pytest.raises(ValidationError) as excinfo: schema_load(many_schema, {}) errors = excinfo.value.messages assert errors == {"children": [error_messages["required"]]}
def test_load_single(single_schema): data = schema_load(single_schema, {"child": {"id": "1"}}) assert data == {"child": {"id": 1}}
def test_load_many(many_schema): data = schema_load(many_schema, {"children": [{"id": "1"}, {"id": "2"}]}) assert data == {"children": [{"id": 1}, {"id": 2}]}
def test_error_load_many_type(many_schema, error_messages): with pytest.raises(ValidationError) as excinfo: schema_load(many_schema, {"children": {"id": 1}}) errors = excinfo.value.messages assert errors == {"children": [error_messages["type"]]}