From fa54e0e2868aeb6d09c7828cee2a8d250754f67a Mon Sep 17 00:00:00 2001 From: gabino Date: Mon, 27 Jul 2026 18:18:52 -0600 Subject: [PATCH 1/3] Updated the age validation condition to ensure users are between 18 and 99 years old. --- cuenca_validations/types/helpers.py | 2 +- tests/test_types.py | 22 +++++++++++++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/cuenca_validations/types/helpers.py b/cuenca_validations/types/helpers.py index 6736fdd0..e1a0b675 100644 --- a/cuenca_validations/types/helpers.py +++ b/cuenca_validations/types/helpers.py @@ -43,6 +43,6 @@ def validate_age_requirement(birth_date: Union[dt.date, Curp]) -> dt.date: birth_date = get_birth_date_from_curp(birth_date) current_date = dt.date.today() - if relativedelta(current_date, birth_date).years < 18: + if not 18 <= relativedelta(current_date, birth_date).years <= 99: raise ValueError('User does not meet age requirement.') return birth_date diff --git a/tests/test_types.py b/tests/test_types.py index 34e7f26d..ffae0166 100644 --- a/tests/test_types.py +++ b/tests/test_types.py @@ -38,7 +38,10 @@ State, ) from cuenca_validations.types.general import LogConfig, StrictPositiveInt -from cuenca_validations.types.helpers import get_log_config +from cuenca_validations.types.helpers import ( + get_log_config, + validate_age_requirement, +) from cuenca_validations.types.identities import Password from cuenca_validations.types.requests import ( ApiKeyUpdateRequest, @@ -457,7 +460,7 @@ def test_curp_validation_request(): names='Pedro', first_surname='Páramo', second_surname=None, - date_of_birth=dt.date(1917, 5, 17), + date_of_birth=dt.date(1970, 5, 17), state_of_birth=State.DF.value, gender='male', manual_curp='ABCD920604HDFSRN03', @@ -490,7 +493,7 @@ def test_curp_validation_request(): assert 'User does not meet age requirement.' in str(v) # changing date of birth so user is underage - request['date_of_birth'] = dt.date(1917, 5, 17) + request['date_of_birth'] = dt.date(1970, 5, 17) del request['state_of_birth'] with pytest.raises(ValueError) as v: @@ -504,6 +507,19 @@ def test_curp_validation_request_underage() -> None: assert 'User does not meet age requirement.' in str(v) +@freeze_time('2026-07-27') +def test_validate_age_requirement_overage() -> None: + with pytest.raises(ValueError) as v: + validate_age_requirement(dt.date(1926, 5, 17)) + assert 'User does not meet age requirement.' in str(v.value) + + +@freeze_time('2026-07-27') +def test_validate_age_requirement_valid() -> None: + birth_date = dt.date(1950, 5, 17) + assert validate_age_requirement(birth_date) == birth_date + + def test_user_update_request(): request = dict( beneficiaries=[ From 3e115450308e29177e783256a9e3da369ee6fbbe Mon Sep 17 00:00:00 2001 From: gabino Date: Mon, 27 Jul 2026 18:19:08 -0600 Subject: [PATCH 2/3] Bump version to 2.1.40 --- cuenca_validations/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cuenca_validations/version.py b/cuenca_validations/version.py index 6a4505d4..e5bf0c19 100644 --- a/cuenca_validations/version.py +++ b/cuenca_validations/version.py @@ -1 +1 @@ -__version__ = '2.1.39' +__version__ = '2.1.40' From fcdd9971095ee98dc6ac3b5ba30e91c5fd800a02 Mon Sep 17 00:00:00 2001 From: gabino Date: Mon, 27 Jul 2026 18:24:03 -0600 Subject: [PATCH 3/3] Fix comment --- tests/test_types.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_types.py b/tests/test_types.py index ffae0166..d3a4c93c 100644 --- a/tests/test_types.py +++ b/tests/test_types.py @@ -492,7 +492,7 @@ def test_curp_validation_request(): CurpValidationRequest(**request) assert 'User does not meet age requirement.' in str(v) - # changing date of birth so user is underage + # restoring a valid age to isolate the missing state_of_birth error request['date_of_birth'] = dt.date(1970, 5, 17) del request['state_of_birth']