diff --git a/src/validators/__init__.py b/src/validators/__init__.py index 3aceb37..635a835 100644 --- a/src/validators/__init__.py +++ b/src/validators/__init__.py @@ -23,7 +23,7 @@ fr_ssn, ind_aadhar, ind_pan, - ru_inn + ru_inn, ) from .iban import iban from .ip_address import ipv4, ipv6 diff --git a/src/validators/i18n/es.py b/src/validators/i18n/es.py index 4bc6bb6..3d4b1ba 100644 --- a/src/validators/i18n/es.py +++ b/src/validators/i18n/es.py @@ -1,15 +1,15 @@ """Spain.""" # standard -from typing import Dict, Set +from typing import Dict # local from validators.utils import validator -def _nif_nie_validation(value: str, number_by_letter: Dict[str, str], special_cases: Set[str]): +def _nif_nie_validation(value: str, number_by_letter: Dict[str, str]): """Validate if the doi is a NIF or a NIE.""" - if value in special_cases or len(value) != 9: + if len(value) != 9: return False value = value.upper() table = "TRWAGMYFPDXBNJZSQVHLCKE" @@ -104,8 +104,7 @@ def es_nif(value: str, /): (ValidationError): If `value` is an invalid DOI string. """ number_by_letter = {"L": "0", "M": "0", "K": "0"} - special_cases = {"X0000000T", "00000000T", "00000001R"} - return _nif_nie_validation(value, number_by_letter, special_cases) + return _nif_nie_validation(value, number_by_letter) @validator @@ -137,7 +136,7 @@ def es_nie(value: str, /): number_by_letter = {"X": "0", "Y": "1", "Z": "2"} # NIE must must start with X Y or Z if value and value[0] in number_by_letter: - return _nif_nie_validation(value, number_by_letter, {"X0000000T"}) + return _nif_nie_validation(value, number_by_letter) return False diff --git a/src/validators/uri.py b/src/validators/uri.py index 29092e3..84b534e 100644 --- a/src/validators/uri.py +++ b/src/validators/uri.py @@ -68,7 +68,7 @@ def uri(value: str, /): # email if value.startswith("mailto:"): - return email(value[len("mailto:"):]) + return email(value[len("mailto:") :]) # file if value.startswith("file:"): diff --git a/tests/i18n/test_es.py b/tests/i18n/test_es.py index 32f1719..5b1ce01 100644 --- a/tests/i18n/test_es.py +++ b/tests/i18n/test_es.py @@ -94,18 +94,9 @@ def test_returns_true_on_valid_nif(value: str): assert es_nif(value) -@pytest.mark.parametrize( - ("value",), - [ - ("12345",), - ("X0000000T",), - ("00000000T",), - ("00000001R",), - ], -) -def test_returns_false_on_invalid_nif(value: str): +def test_returns_false_on_invalid_nif(): """Test returns false on invalid nif.""" - result = es_nif(value) + result = es_nif("12345") assert isinstance(result, ValidationError) @@ -117,10 +108,13 @@ def test_returns_false_on_invalid_nif(value: str): ("U4839822F",), ("B96817697",), # NIEs + ("X0000000T",), ("X0095892M",), ("X8868108K",), ("X2911154K",), # NIFs + ("00000001R",), + ("00000000T",), ("26643189N",), ("07060225F",), ("49166693F",),