1- from models_library .api_schemas_webserver .users import MyProfileRestGet
1+ import pytest
2+ from models_library .api_schemas_webserver .users import (
3+ MyPhoneRegister ,
4+ MyProfileRestGet ,
5+ PhoneNumberStr ,
6+ )
27from models_library .api_schemas_webserver .users_preferences import Preference
38from models_library .groups import AccessRightsDict , Group , GroupsByTypeTuple
49from models_library .users import MyProfile
5- from pydantic import TypeAdapter
10+ from pydantic import TypeAdapter , ValidationError
611
712
813def test_adapter_from_model_to_schema ():
@@ -25,3 +30,24 @@ def test_adapter_from_model_to_schema():
2530 MyProfileRestGet .from_domain_model (
2631 my_profile , my_groups_by_type , my_product_group , my_preferences
2732 )
33+
34+
35+ @pytest .mark .parametrize (
36+ "phone" ,
37+ ["+41763456789" , "+19104630364" , "+1 301-304-4567" ],
38+ )
39+ def test_valid_phone_numbers (phone : str ):
40+ # This test is used to tune options of PhoneNumberValidator
41+ assert MyPhoneRegister .model_validate ({"phone" : phone }).phone == TypeAdapter (
42+ PhoneNumberStr
43+ ).validate_python (phone )
44+
45+
46+ @pytest .mark .parametrize (
47+ "phone" ,
48+ ["41763456789" , "+09104630364" , "+1 111-304-4567" ],
49+ )
50+ def test_invalid_phone_numbers (phone : str ):
51+ # This test is used to tune options of PhoneNumberValidator
52+ with pytest .raises (ValidationError ):
53+ MyPhoneRegister .model_validate ({"phone" : phone })
0 commit comments