mirror of https://github.com/tiangolo/fastapi.git
Add tests for form data validation and optional fields
This PR adds unit tests for form data handling in the application: 1. `test_list_field_single_value`: Ensures that a single value in a list field is correctly wrapped as a list. 2. `test_alias_field_name_not_accepted`: Ensures that fields with unrecognized aliases return a 422 validation error. 3. `test_optional_int_empty_string`: Ensures that empty strings for optional integer fields are correctly converted to None. These tests improve coverage for form input validation and ensure consistent API behavior.
This commit is contained in:
parent
0c7f2b66d7
commit
2c52be5c59
|
|
@ -139,3 +139,40 @@ def test_extra_param_list():
|
|||
"param": "123",
|
||||
"extra_params": ["456", "789"],
|
||||
}
|
||||
|
||||
|
||||
def test_list_field_single_value():
|
||||
response = client.post(
|
||||
"/form/",
|
||||
data={
|
||||
"username": "Rick",
|
||||
"lastname": "Sanchez",
|
||||
"tags": "single",
|
||||
},
|
||||
)
|
||||
assert response.status_code == 200
|
||||
assert response.json()["tags"] == ["single"]
|
||||
|
||||
|
||||
def test_alias_field_name_not_accepted():
|
||||
response = client.post(
|
||||
"/form/",
|
||||
data={
|
||||
"username": "Rick",
|
||||
"lastname": "Sanchez",
|
||||
"alias_with": "something",
|
||||
},
|
||||
)
|
||||
assert response.status_code == 422
|
||||
|
||||
def test_optional_int_empty_string():
|
||||
response = client.post(
|
||||
"/form/",
|
||||
data={
|
||||
"username": "Rick",
|
||||
"lastname": "Sanchez",
|
||||
"age": "",
|
||||
},
|
||||
)
|
||||
assert response.status_code == 200, response.text
|
||||
assert response.json()["age"] is None
|
||||
|
|
|
|||
Loading…
Reference in New Issue