@@ -465,9 +465,19 @@ def test_name_methods(self):
465465 def test_name_fields_required (self ):
466466 """Test the required parameter for name_fields method"""
467467 self .individual .instanceName = "test_individual"
468+ self .individual .first_name_label = "First name"
469+ self .individual .middle_name_label = "Middle name"
470+ self .individual .last_name_label = "Last name"
471+ self .individual .suffix_label = "Suffix"
472+ self .individual .title_label = "Title"
473+ self .individual .business_name_label = "Business name"
468474
469475 # Test without required parameter - middle name should default to False
470- fields = self .individual .name_fields (person_or_business = "person" )
476+ fields = self .individual .name_fields (
477+ person_or_business = "person" ,
478+ title_choices = ["a title" ],
479+ suffix_choices = ["Jr." , "Sr." ],
480+ )
471481 middle_field = None
472482 for field in fields :
473483 if "middle" in field ["field" ]:
@@ -478,7 +488,10 @@ def test_name_fields_required(self):
478488
479489 # Test with required parameter making middle name required
480490 fields = self .individual .name_fields (
481- person_or_business = "person" , required = {"test_individual.name.middle" : True }
491+ person_or_business = "person" ,
492+ required = {"test_individual.name.middle" : True },
493+ title_choices = ["a title" ],
494+ suffix_choices = ["Jr." , "Sr." ],
482495 )
483496 middle_field = None
484497 for field in fields :
@@ -490,14 +503,25 @@ def test_name_fields_required(self):
490503
491504 # Test business case with required parameter
492505 fields = self .individual .name_fields (
493- person_or_business = "business" , required = {"test_individual.name.first" : True }
506+ person_or_business = "business" ,
507+ required = {"test_individual.name.first" : True },
508+ title_choices = ["a title" ],
509+ suffix_choices = ["Jr." , "Sr." ],
494510 )
495511 business_field = fields [0 ]
496512 self .assertEqual (business_field ["required" ], True )
497513
498514 def test_gender_fields_required (self ):
499515 """Test the required parameter for gender_fields method"""
500516 self .individual .instanceName = "test_individual"
517+ self .individual .gender_female_label = "Female"
518+ self .individual .gender_male_label = "Female"
519+ self .individual .gender_nonbinary_label = "Non-binary"
520+ self .individual .gender_prefer_not_to_say_label = "Prefer not to say"
521+ self .individual .gender_prefer_self_described_label = "Prefer self-described"
522+ self .individual .gender_unknown_label = "Unknown"
523+ self .individual .gender_self_described_label = "Self described"
524+ self .individual .gender_label = "Gender"
501525
502526 # Test without required parameter
503527 fields = self .individual .gender_fields ()
@@ -521,38 +545,52 @@ def test_gender_fields_required(self):
521545 def test_pronoun_fields_required (self ):
522546 """Test the required parameter for pronoun_fields method (both bool and dict)"""
523547 self .individual .instanceName = "test_individual"
548+ self .individual .pronoun_prefer_self_described_label = "Something else"
549+ self .individual .pronoun_unknown_label = "Unknown"
550+ self .individual .pronoun_self_described_label = "Self described pronouns"
551+ self .individual .pronouns_label = "Self described pronouns"
552+ self .individual .pronoun_prefer_not_to_say_label = "Prefer not to say"
524553
525554 # Test with boolean required parameter (existing behavior)
526- fields = self .individual .pronoun_fields (required = True )
555+ fields = self .individual .pronoun_fields (
556+ required = True , choices = [{"They/them/theirs" : "they/them/theirs" }]
557+ )
527558 pronoun_field = fields [0 ]
528559 self .assertEqual (pronoun_field ["required" ], True )
529560
530561 # Test with boolean required parameter = False
531- fields = self .individual .pronoun_fields (required = False )
562+ fields = self .individual .pronoun_fields (
563+ required = False , choices = [{"They/them/theirs" : "they/them/theirs" }]
564+ )
532565 pronoun_field = fields [0 ]
533566 self .assertEqual (pronoun_field ["required" ], False )
534567
535568 # Test with dictionary required parameter (new behavior)
536569 fields = self .individual .pronoun_fields (
537- required = {"test_individual.pronouns" : True }
570+ required = {"test_individual.pronouns" : True },
571+ choices = [{"They/them/theirs" : "they/them/theirs" }],
538572 )
539573 pronoun_field = fields [0 ]
540574 self .assertEqual (pronoun_field ["required" ], True )
541575
542576 # Test with dictionary required parameter for different field
543577 fields = self .individual .pronoun_fields (
544- required = {"test_individual.pronouns_self_described" : True }
578+ required = {"test_individual.pronouns_self_described" : True },
579+ choices = [{"They/them/theirs" : "they/them/theirs" }],
545580 )
546581 pronoun_field = fields [0 ]
547582 self_described_field = fields [1 ]
548583 self .assertEqual (
549- pronoun_field ["required" ], False
584+ pronoun_field ["required" ],
585+ False ,
550586 ) # First field should still be False
551587 self .assertEqual (self_described_field ["required" ], True )
552588
553589 def test_language_fields_required (self ):
554590 """Test the required parameter for language_fields method"""
555591 self .individual .instanceName = "test_individual"
592+ self .individual .language_other_label = "Other language"
593+ self .individual .language_label = "Language"
556594
557595 # Test without required parameter
558596 fields = self .individual .language_fields ()
0 commit comments