cuenca-validations 2.1.14.dev2__tar.gz → 2.1.14.dev3__tar.gz

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.
Files changed (35) hide show
  1. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/PKG-INFO +1 -1
  2. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/types/requests.py +20 -0
  3. cuenca_validations-2.1.14.dev3/cuenca_validations/version.py +1 -0
  4. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations.egg-info/PKG-INFO +1 -1
  5. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/tests/test_types.py +12 -0
  6. cuenca_validations-2.1.14.dev2/cuenca_validations/version.py +0 -1
  7. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/LICENSE +0 -0
  8. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/README.md +0 -0
  9. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/__init__.py +0 -0
  10. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/card_bins.py +0 -0
  11. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/errors.py +0 -0
  12. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/py.typed +0 -0
  13. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/types/__init__.py +0 -0
  14. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/types/card.py +0 -0
  15. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/types/enums.py +0 -0
  16. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/types/files.py +0 -0
  17. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/types/general.py +0 -0
  18. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/types/helpers.py +0 -0
  19. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/types/identities.py +0 -0
  20. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/types/morals.py +0 -0
  21. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/types/queries.py +0 -0
  22. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/typing.py +0 -0
  23. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations/validators.py +0 -0
  24. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations.egg-info/SOURCES.txt +0 -0
  25. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations.egg-info/dependency_links.txt +0 -0
  26. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations.egg-info/requires.txt +0 -0
  27. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/cuenca_validations.egg-info/top_level.txt +0 -0
  28. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/setup.cfg +0 -0
  29. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/setup.py +0 -0
  30. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/tests/__init__.py +0 -0
  31. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/tests/test_card.py +0 -0
  32. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/tests/test_errors.py +0 -0
  33. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/tests/test_helpers.py +0 -0
  34. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/tests/test_requests.py +0 -0
  35. {cuenca_validations-2.1.14.dev2 → cuenca_validations-2.1.14.dev3}/tests/test_statement.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca_validations
3
- Version: 2.1.14.dev2
3
+ Version: 2.1.14.dev3
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -375,6 +375,26 @@ 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
+ century = (
387
+ '19'
388
+ if int(curp_date[:2]) > int(str(current_date.year)[:2])
389
+ else '20'
390
+ )
391
+ birth_date = dt.datetime.strptime(century + curp_date, '%Y%m%d')
392
+ try:
393
+ validate_age_requirement(birth_date)
394
+ except ValueError:
395
+ raise
396
+ return manual_curp
397
+
378
398
  @model_validator(mode="before")
379
399
  @classmethod
380
400
  def validate_state_of_birth(cls, values: DictStrAny) -> DictStrAny:
@@ -0,0 +1 @@
1
+ __version__ = '2.1.14.dev3'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca_validations
3
- Version: 2.1.14.dev2
3
+ Version: 2.1.14.dev3
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -385,6 +385,18 @@ def test_curp_validation_request():
385
385
  assert 'state_of_birth required' in str(v)
386
386
 
387
387
 
388
+ @freeze_time('2022-01-01')
389
+ def test_curp_validation_request_underage():
390
+ request = dict(
391
+ manual_curp='ABCD060604HDFSRN03', # underage CURP
392
+ )
393
+
394
+ with pytest.raises(ValueError) as v:
395
+ CurpValidationRequest(**request)
396
+
397
+ assert 'User does not meet age requirement.' in str(v)
398
+
399
+
388
400
  def test_user_update_request():
389
401
  request = dict(
390
402
  beneficiaries=[
@@ -1 +0,0 @@
1
- __version__ = '2.1.14.dev2'