Skip to content

Commit 7a68a62

Browse files
ELI-615 | wip
1 parent d62bca8 commit 7a68a62

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

src/eligibility_signposting_api/services/processors/campaign_evaluator.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class CampaignEvaluator:
1515
def get_active_campaigns(self, campaign_configs: Collection[CampaignConfig]) -> list[CampaignConfig]:
1616
return [cc for cc in campaign_configs if cc.campaign_live]
1717

18-
def get_campaign_with_latest_iteration(self, active_campaigns: list[CampaignConfig]) -> CampaignConfig:
18+
def get_campaign_with_latest_iteration(self, active_campaigns: list[CampaignConfig]) -> CampaignConfig | None:
1919

2020
"""
2121
Returns the campaign with the latest active iteration date.
@@ -34,14 +34,15 @@ def get_campaign_with_latest_iteration(self, active_campaigns: list[CampaignConf
3434
]
3535

3636
if not valid_items:
37-
latest_date, latest_campaign = None, None
37+
latest_campaign = None
3838
else:
3939
max_date = max(item[0] for item in valid_items)
40-
cc_with_max_iteration_date = [item for item in valid_items if item[0] == max_date]
40+
cc_with_max_iteration_date:list[CampaignConfig] = [item[1] for item in valid_items if item[0] == max_date]
4141
if len(cc_with_max_iteration_date) > 1:
42-
raise ValueError(f"Ambiguous result: {len(cc_with_max_iteration_date)} campaigns found for date {max_date}")
42+
raise ValueError(f"Ambiguous result: {len(cc_with_max_iteration_date)} iterations for target {cc_with_max_iteration_date[0].iteration_date}"
43+
f"found for date {max_date}")
4344

44-
latest_date, latest_campaign = cc_with_max_iteration_date[0]
45+
latest_campaign = cc_with_max_iteration_date[0]
4546

4647
return latest_campaign
4748

0 commit comments

Comments
 (0)