Browse Source

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.
pull/14727/head
Vivansh Vanethiya 6 months ago
committed by GitHub
parent
commit
2c52be5c59
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 37
      tests/test_forms_single_model.py

37
tests/test_forms_single_model.py

@ -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…
Cancel
Save