cuenca-validations 2.1.14.dev2__py3-none-any.whl → 2.1.14.dev4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cuenca_validations/types/requests.py +21 -5
- cuenca_validations/version.py +1 -1
- {cuenca_validations-2.1.14.dev2.dist-info → cuenca_validations-2.1.14.dev4.dist-info}/METADATA +1 -1
- {cuenca_validations-2.1.14.dev2.dist-info → cuenca_validations-2.1.14.dev4.dist-info}/RECORD +8 -8
- tests/test_types.py +11 -0
- {cuenca_validations-2.1.14.dev2.dist-info → cuenca_validations-2.1.14.dev4.dist-info}/WHEEL +0 -0
- {cuenca_validations-2.1.14.dev2.dist-info → cuenca_validations-2.1.14.dev4.dist-info}/licenses/LICENSE +0 -0
- {cuenca_validations-2.1.14.dev2.dist-info → cuenca_validations-2.1.14.dev4.dist-info}/top_level.txt +0 -0
|
@@ -375,6 +375,24 @@ class CurpValidationRequest(BaseModel):
|
|
|
375
375
|
raise
|
|
376
376
|
return date_of_birth
|
|
377
377
|
|
|
378
|
+
@field_validator('manual_curp')
|
|
379
|
+
@classmethod
|
|
380
|
+
def validate_manual_curp_birth_date(
|
|
381
|
+
cls, manual_curp: Optional[Curp]
|
|
382
|
+
) -> Optional[Curp]:
|
|
383
|
+
if manual_curp:
|
|
384
|
+
current_date = dt.datetime.utcnow()
|
|
385
|
+
curp_date = manual_curp[4:10]
|
|
386
|
+
yy = int(curp_date[:2])
|
|
387
|
+
current_yy = current_date.year % 100
|
|
388
|
+
century = '19' if yy > current_yy else '20'
|
|
389
|
+
birth_date = dt.datetime.strptime(century + curp_date, '%Y%m%d')
|
|
390
|
+
try:
|
|
391
|
+
validate_age_requirement(birth_date)
|
|
392
|
+
except ValueError:
|
|
393
|
+
raise
|
|
394
|
+
return manual_curp
|
|
395
|
+
|
|
378
396
|
@model_validator(mode="before")
|
|
379
397
|
@classmethod
|
|
380
398
|
def validate_state_of_birth(cls, values: DictStrAny) -> DictStrAny:
|
|
@@ -469,11 +487,9 @@ class UserRequest(BaseModel):
|
|
|
469
487
|
if curp:
|
|
470
488
|
current_date = dt.datetime.utcnow()
|
|
471
489
|
curp_date = curp[4:10]
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
else '20'
|
|
476
|
-
)
|
|
490
|
+
yy = int(curp_date[:2])
|
|
491
|
+
current_yy = current_date.year % 100
|
|
492
|
+
century = '19' if yy > current_yy else '20'
|
|
477
493
|
birth_date = dt.datetime.strptime(century + curp_date, '%Y%m%d')
|
|
478
494
|
try:
|
|
479
495
|
validate_age_requirement(birth_date)
|
cuenca_validations/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '2.1.14.
|
|
1
|
+
__version__ = '2.1.14.dev4'
|
{cuenca_validations-2.1.14.dev2.dist-info → cuenca_validations-2.1.14.dev4.dist-info}/RECORD
RENAMED
|
@@ -4,7 +4,7 @@ cuenca_validations/errors.py,sha256=OtM8EgiKqYdz9Hn66AbBO96orL1or7efkyt0vh0Zxbs,
|
|
|
4
4
|
cuenca_validations/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
cuenca_validations/typing.py,sha256=1QCu81IbVZZpyInjyeAuO-nF36gpT5Gi4o6V9PozuOU,204
|
|
6
6
|
cuenca_validations/validators.py,sha256=wzwLnJ4wHggZvqp3mearbFkzvDERGeTNvJkuofQnuMc,1484
|
|
7
|
-
cuenca_validations/version.py,sha256=
|
|
7
|
+
cuenca_validations/version.py,sha256=_76tfT7c3a3V-c4iI9jqt2Jk13KLPL0_aJFlTrJV1E8,28
|
|
8
8
|
cuenca_validations/types/__init__.py,sha256=fPmHzU6mY6l3qK2R8cOhjcrICTOnoHS6VQteX663FRE,4843
|
|
9
9
|
cuenca_validations/types/card.py,sha256=UGzz8NTFAverUmdUKAK1oGHnOnjSNTpIRUm93vKSSGY,1295
|
|
10
10
|
cuenca_validations/types/enums.py,sha256=533fUCip5CXMD7m4Ww8VAcB5Yr4A0EmT5GBRt2mF4b0,19510
|
|
@@ -14,16 +14,16 @@ cuenca_validations/types/helpers.py,sha256=6rHUhwoQ7jJZtGcW3LX-W5ZDl42PWE1RoBpGm
|
|
|
14
14
|
cuenca_validations/types/identities.py,sha256=1wkutHzL9Gpd9oAZdyiikNxWKe5iBVAQT3TabR6YG1o,5451
|
|
15
15
|
cuenca_validations/types/morals.py,sha256=davabh5hAnFVQyM7-yCyDaT5ewXnm0cr1BtqDIwzkX8,1833
|
|
16
16
|
cuenca_validations/types/queries.py,sha256=3KWQfIawcXpyfD2SxBlUJpJVkc3CXL5rNMpHU-9GZXY,4992
|
|
17
|
-
cuenca_validations/types/requests.py,sha256=
|
|
18
|
-
cuenca_validations-2.1.14.
|
|
17
|
+
cuenca_validations/types/requests.py,sha256=XYK4aczPm_TH7gMB2GdqKEDFftLMuiAohw1pC1NwidI,21691
|
|
18
|
+
cuenca_validations-2.1.14.dev4.dist-info/licenses/LICENSE,sha256=wR76FmxBbfnQpwELkkE5iMF8sFIafEMgXLTE4N4WPTc,1063
|
|
19
19
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
20
|
tests/test_card.py,sha256=QAfRz7e11gWICPnFJZ2tiYgUsFV3C9TwzJXrDnDNXFw,1202
|
|
21
21
|
tests/test_errors.py,sha256=ixiIgEuBuzfsL5p4uCFdF32XqFRtTPF6EVhGJ0keOrI,930
|
|
22
22
|
tests/test_helpers.py,sha256=ubzpi1UXCryLQdgsT_Zm2IX-XE_4L0dnHnhLwH06xK8,748
|
|
23
23
|
tests/test_requests.py,sha256=HGKybPNlN-Vbf2Ew34csfMR5UzZdVPoX9J8eeD4yCiI,1095
|
|
24
24
|
tests/test_statement.py,sha256=IOE0rRRBgBZSJv_FLaETEyn5NzzXKMNTqgjv99GX-68,1436
|
|
25
|
-
tests/test_types.py,sha256=
|
|
26
|
-
cuenca_validations-2.1.14.
|
|
27
|
-
cuenca_validations-2.1.14.
|
|
28
|
-
cuenca_validations-2.1.14.
|
|
29
|
-
cuenca_validations-2.1.14.
|
|
25
|
+
tests/test_types.py,sha256=__nBVJiYki2LMVtsHS5uQ3ATxUlCUlapqCYvFVFCUdM,19086
|
|
26
|
+
cuenca_validations-2.1.14.dev4.dist-info/METADATA,sha256=NJy7KiUUBhqws5hGz4IuNc84UbvK4mV1JJLfOxB4mVo,1600
|
|
27
|
+
cuenca_validations-2.1.14.dev4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
28
|
+
cuenca_validations-2.1.14.dev4.dist-info/top_level.txt,sha256=4233xdOs2HtuT-GFRjcDcwK0IwdwvWdczOtk0fPB6Gw,25
|
|
29
|
+
cuenca_validations-2.1.14.dev4.dist-info/RECORD,,
|
tests/test_types.py
CHANGED
|
@@ -385,6 +385,17 @@ def test_curp_validation_request():
|
|
|
385
385
|
assert 'state_of_birth required' in str(v)
|
|
386
386
|
|
|
387
387
|
|
|
388
|
+
def test_curp_validation_request_underage():
|
|
389
|
+
request = dict(
|
|
390
|
+
manual_curp='ABCD240614HDFSRN03', # underage CURP
|
|
391
|
+
)
|
|
392
|
+
|
|
393
|
+
with pytest.raises(ValueError) as v:
|
|
394
|
+
CurpValidationRequest(**request)
|
|
395
|
+
|
|
396
|
+
assert 'User does not meet age requirement.' in str(v)
|
|
397
|
+
|
|
398
|
+
|
|
388
399
|
def test_user_update_request():
|
|
389
400
|
request = dict(
|
|
390
401
|
beneficiaries=[
|
|
File without changes
|
|
File without changes
|
{cuenca_validations-2.1.14.dev2.dist-info → cuenca_validations-2.1.14.dev4.dist-info}/top_level.txt
RENAMED
|
File without changes
|