from contextlib import nullcontext as does_not_raise from typing import Any import pydantic import pytest from src.schemas.delete_request import DeleteRequest def test_valid() -> None: """Test that a valid payload does not raise an exception.""" payload = {"upc": "196872928846", "product_id": "123421"} with does_not_raise(): DeleteRequest.model_validate(payload) @pytest.mark.parametrize( "payload", [{}, {"detail": "string"}], ) def test_invalid(payload: dict[str, Any]) -> None: """Test that invalid payloads raise pydantic.ValidationErrors.""" with pytest.raises(pydantic.ValidationError): DeleteRequest.model_validate(payload)