diff --git a/tests/fixtures/builders/model/eligibility.py b/tests/fixtures/builders/model/eligibility.py index a1fd81f7d..6a987e0d2 100644 --- a/tests/fixtures/builders/model/eligibility.py +++ b/tests/fixtures/builders/model/eligibility.py @@ -5,23 +5,29 @@ from polyfactory.factories import DataclassFactory from eligibility_signposting_api.model import eligibility -from eligibility_signposting_api.model.eligibility import UrlLink +from eligibility_signposting_api.model.eligibility import RuleType, UrlLink class SuggestedActionFactory(DataclassFactory[eligibility.SuggestedAction]): url_link = UrlLink("https://test-example.com") +class ReasonFactory(DataclassFactory[eligibility.Reason]): + rule_type = RuleType.filter + + +class CohortResultFactory(DataclassFactory[eligibility.CohortGroupResult]): + reasons = Use(ReasonFactory.batch, size=2) + + class ConditionFactory(DataclassFactory[eligibility.Condition]): actions = Use(SuggestedActionFactory.batch, size=2) + cohort_results = Use(CohortResultFactory.batch, size=2) class EligibilityStatusFactory(DataclassFactory[eligibility.EligibilityStatus]): conditions = Use(ConditionFactory.batch, size=2) -class CohortResultFactory(DataclassFactory[eligibility.CohortGroupResult]): ... - - def random_str(length: int) -> str: return "".join(random.choice(string.ascii_lowercase + string.digits) for _ in range(length)) diff --git a/tests/fixtures/builders/model/rule.py b/tests/fixtures/builders/model/rule.py index f0d7010b4..bbc9c340d 100644 --- a/tests/fixtures/builders/model/rule.py +++ b/tests/fixtures/builders/model/rule.py @@ -22,7 +22,9 @@ class IterationCohortFactory(ModelFactory[rules.IterationCohort]): class IterationRuleFactory(ModelFactory[rules.IterationRule]): attribute_target = None - attribute_name = None + attribute_name = "DATE_OF_BIRTH" + operator = "Y>" + comparator = "-1" cohort_label = None rule_stop = False