Skip to content

Commit 2dee08b

Browse files
Merge pull request #981 from SuffolkLITLab/fix_tests
Fix tests
2 parents 9e31d25 + aec9506 commit 2dee08b

File tree

1 file changed

+46
-8
lines changed

1 file changed

+46
-8
lines changed

docassemble/AssemblyLine/test_al_general.py

Lines changed: 46 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)