Skip to content

Commit cd17123

Browse files
author
gabino
committed
Add RFC support to UserListsRequest validation
1 parent 70f4fcb commit cd17123

3 files changed

Lines changed: 30 additions & 6 deletions

File tree

cuenca_validations/types/requests.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,7 @@ class BankAccountValidationRequest(BaseModel):
631631

632632
class UserListsRequest(BaseModel):
633633
curp: Optional[Curp] = Field(None, description='Curp to review on lists')
634+
rfc: Optional[Rfc] = Field(None, description='Rfc to review on lists')
634635
account_number: Optional[Union[Clabe, PaymentCardNumber]] = Field(
635636
None, description='Account to review on lists'
636637
)
@@ -648,8 +649,12 @@ class UserListsRequest(BaseModel):
648649
@classmethod
649650
def check_request(cls, values):
650651
has_name = all(values.get(f) for f in ['names', 'first_surname'])
651-
curp, account = values.get('curp'), values.get('account_number')
652-
if not any([curp, account, has_name]):
652+
curp, account, rfc = (
653+
values.get('curp'),
654+
values.get('account_number'),
655+
values.get('rfc'),
656+
)
657+
if not any([curp, account, rfc, has_name]):
653658
raise ValueError("At least 1 param is required")
654659
return values
655660

@@ -658,6 +663,7 @@ def check_request(cls, values):
658663
json_schema_extra={
659664
'example': {
660665
'curp': 'GOCG650418HVZNML08',
666+
'rfc': 'GOCG650418TJ1',
661667
'account_number': '9203929392939292392',
662668
'names': 'Pedrito',
663669
'first_surname': 'Sola',

cuenca_validations/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '2.1.2'
1+
__version__ = '2.1.3.dev1'

tests/test_types.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -564,10 +564,28 @@ def test_bank_account_validation_clabe_request():
564564
assert BankAccountValidationRequest(account_number='646180157098510917')
565565

566566

567-
def test_user_lists_request():
568-
UserListsRequest(names='Pedro', first_surname='Paramo')
567+
@pytest.mark.parametrize(
568+
'input_data',
569+
[
570+
{'names': 'Pedro', 'first_surname': 'Paramo'},
571+
{'curp': 'GOCG650418HVZNML08'},
572+
{'rfc': 'GOCG650418TJ1'},
573+
{'account_number': '646180157034181180'},
574+
{
575+
'curp': 'GOCG650418HVZNML08',
576+
'rfc': 'GOCG650418TJ1',
577+
'names': 'Pedro',
578+
'first_surname': 'Paramo',
579+
},
580+
],
581+
)
582+
def test_user_lists_request_valid_params(input_data):
583+
UserListsRequest(**input_data)
584+
585+
586+
def test_user_lists_request_invalid_params():
569587
with pytest.raises(ValueError):
570-
UserListsRequest()
588+
UserListsRequest(first_surname='Paramo', second_surname='Paramo')
571589

572590

573591
class IntModel(BaseModel):

0 commit comments

Comments
 (0)