11import datetime
22import logging
33from typing import Any
4+ from unittest .mock import MagicMock
45
56import pytest
67from faker import Faker
3334 DateOfBirth ,
3435 InternalActionCode ,
3536 IterationResult ,
37+ MatchedActionDetail ,
3638 NHSNumber ,
3739 Postcode ,
3840 Reason ,
5153 is_condition ,
5254 is_eligibility_status ,
5355)
54- from eligibility_signposting_api .model .eligibility_status import StatusText
55- from eligibility_signposting_api .services .processors .token_processor import TokenProcessor
56- from eligibility_signposting_api .model .eligibility_status import MatchedActionDetail
57- from unittest .mock import MagicMock
56+
5857
5958def test_get_eligibility_status_uses_status_text_override_when_present (faker : Faker ):
6059 """
@@ -75,9 +74,7 @@ def test_get_eligibility_status_uses_status_text_override_when_present(faker: Fa
7574 target = "RSV" ,
7675 iterations = [
7776 rule_builder .IterationFactory .build (
78- iteration_cohorts = [
79- rule_builder .IterationCohortFactory .build (cohort_label = "cohort1" )
80- ],
77+ iteration_cohorts = [rule_builder .IterationCohortFactory .build (cohort_label = "cohort1" )],
8178 iteration_rules = [],
8279 status_text = campaign_config .StatusText (
8380 NotEligible = "You are not eligible for RSV." ,
@@ -122,9 +119,7 @@ def test_get_eligibility_status_keeps_original_status_text_when_override_absent(
122119 target = "RSV" ,
123120 iterations = [
124121 rule_builder .IterationFactory .build (
125- iteration_cohorts = [
126- rule_builder .IterationCohortFactory .build (cohort_label = "cohort1" )
127- ],
122+ iteration_cohorts = [rule_builder .IterationCohortFactory .build (cohort_label = "cohort1" )],
128123 iteration_rules = [],
129124 status_text = campaign_config .StatusText (
130125 NotEligible = "You are not eligible for RSV." ,
@@ -137,9 +132,7 @@ def test_get_eligibility_status_keeps_original_status_text_when_override_absent(
137132 ]
138133
139134 calculator = EligibilityCalculator (person_rows , campaign_configs )
140- calculator .action_rule_handler .get_actions = MagicMock (
141- return_value = MatchedActionDetail (status_text_override = None )
142- )
135+ calculator .action_rule_handler .get_actions = MagicMock (return_value = MatchedActionDetail (status_text_override = None ))
143136
144137 actual = calculator .get_eligibility_status ("Y" , ["ALL" ], "ALL" )
145138
@@ -168,9 +161,7 @@ def test_get_eligibility_status_resolves_tokens_in_status_text_override(faker: F
168161 target = "RSV" ,
169162 iterations = [
170163 rule_builder .IterationFactory .build (
171- iteration_cohorts = [
172- rule_builder .IterationCohortFactory .build (cohort_label = "cohort1" )
173- ],
164+ iteration_cohorts = [rule_builder .IterationCohortFactory .build (cohort_label = "cohort1" )],
174165 iteration_rules = [],
175166 status_text = campaign_config .StatusText (
176167 NotEligible = "You are not eligible for RSV." ,
@@ -184,9 +175,7 @@ def test_get_eligibility_status_resolves_tokens_in_status_text_override(faker: F
184175
185176 calculator = EligibilityCalculator (person_rows , campaign_configs )
186177 calculator .action_rule_handler .get_actions = MagicMock (
187- return_value = MatchedActionDetail (
188- status_text_override = StatusText ("You can book via [[PERSON.ICB]]." )
189- )
178+ return_value = MatchedActionDetail (status_text_override = StatusText ("You can book via [[PERSON.ICB]]." ))
190179 )
191180
192181 actual = calculator .get_eligibility_status ("Y" , ["ALL" ], "ALL" )
@@ -216,9 +205,7 @@ def test_get_eligibility_status_applies_override_before_token_processing(faker:
216205 target = "RSV" ,
217206 iterations = [
218207 rule_builder .IterationFactory .build (
219- iteration_cohorts = [
220- rule_builder .IterationCohortFactory .build (cohort_label = "cohort1" )
221- ],
208+ iteration_cohorts = [rule_builder .IterationCohortFactory .build (cohort_label = "cohort1" )],
222209 iteration_rules = [],
223210 status_text = campaign_config .StatusText (
224211 NotEligible = "You are not eligible for RSV." ,
@@ -232,9 +219,7 @@ def test_get_eligibility_status_applies_override_before_token_processing(faker:
232219
233220 calculator = EligibilityCalculator (person_rows , campaign_configs )
234221 calculator .action_rule_handler .get_actions = MagicMock (
235- return_value = MatchedActionDetail (
236- status_text_override = StatusText ("OVERRIDE [[PERSON.ICB]]" )
237- )
222+ return_value = MatchedActionDetail (status_text_override = StatusText ("OVERRIDE [[PERSON.ICB]]" ))
238223 )
239224
240225 actual = calculator .get_eligibility_status ("Y" , ["ALL" ], "ALL" )
0 commit comments