diff --git a/src/eligibility_signposting_api/model/eligibility.py b/src/eligibility_signposting_api/model/eligibility.py index 985d0e561..5b58d752e 100644 --- a/src/eligibility_signposting_api/model/eligibility.py +++ b/src/eligibility_signposting_api/model/eligibility.py @@ -6,8 +6,6 @@ from functools import total_ordering from typing import NewType, Self -from pydantic import HttpUrl - NHSNumber = NewType("NHSNumber", str) DateOfBirth = NewType("DateOfBirth", date) Postcode = NewType("Postcode", str) @@ -19,7 +17,7 @@ ActionType = NewType("ActionType", str) ActionCode = NewType("ActionCode", str) ActionDescription = NewType("ActionDescription", str) -UrlLink = NewType("UrlLink", HttpUrl) +UrlLink = NewType("UrlLink", str) UrlLabel = NewType("UrlLabel", str) diff --git a/src/eligibility_signposting_api/model/rules.py b/src/eligibility_signposting_api/model/rules.py index 541db6263..473a15f3d 100644 --- a/src/eligibility_signposting_api/model/rules.py +++ b/src/eligibility_signposting_api/model/rules.py @@ -9,7 +9,7 @@ from operator import attrgetter from typing import Literal, NewType -from pydantic import BaseModel, Field, HttpUrl, RootModel, field_serializer, field_validator, model_validator +from pydantic import BaseModel, Field, RootModel, field_serializer, field_validator, model_validator from eligibility_signposting_api.config.contants import MAGIC_COHORT_LABEL, RULE_STOP_DEFAULT @@ -132,7 +132,7 @@ class AvailableAction(BaseModel): action_type: str = Field(..., alias="ActionType") action_code: str = Field(..., alias="ExternalRoutingCode") action_description: str | None = Field(None, alias="ActionDescription") - url_link: HttpUrl | None = Field(None, alias="UrlLink") + url_link: str | None = Field(None, alias="UrlLink") url_label: str | None = Field(None, alias="UrlLabel") model_config = {"populate_by_name": True} diff --git a/tests/unit/services/calculators/test_eligibility_calculator.py b/tests/unit/services/calculators/test_eligibility_calculator.py index 1ac57cbdb..985f4b84a 100644 --- a/tests/unit/services/calculators/test_eligibility_calculator.py +++ b/tests/unit/services/calculators/test_eligibility_calculator.py @@ -5,7 +5,7 @@ from faker import Faker from freezegun import freeze_time from hamcrest import assert_that, contains_exactly, contains_inanyorder, equal_to, has_item, has_items, is_in -from pydantic import HttpUrl, ValidationError +from pydantic import ValidationError from eligibility_signposting_api.model import rules from eligibility_signposting_api.model import rules as rules_model @@ -50,14 +50,14 @@ def test_get_redirect_rules(): ActionType="ActionType1", ExternalRoutingCode="ActionCode1", ActionDescription="ActionDescription1", - UrlLink=HttpUrl("https://www.ActionUrl1.com"), + UrlLink="https://www.ActionUrl1.com", UrlLabel="ActionLabel1", ), "defaultcomms": AvailableAction( ActionType="ActionType2", ExternalRoutingCode="defaultcomms", ActionDescription="ActionDescription2", - UrlLink=HttpUrl("https://www.ActionUrl2.com"), + UrlLink="https://www.ActionUrl2.com", UrlLabel="ActionLabel2", ), } diff --git a/tests/unit/views/test_eligibility.py b/tests/unit/views/test_eligibility.py index 36fb887c5..4fcf7978b 100644 --- a/tests/unit/views/test_eligibility.py +++ b/tests/unit/views/test_eligibility.py @@ -377,7 +377,7 @@ def test_no_suitability_rules_for_actionable(): action_type=ActionType("TYPE_A"), action_code=ActionCode("CODE123"), action_description=ActionDescription("Some description"), - url_link=UrlLink(HttpUrl("https://example.com")), + url_link=UrlLink("https://example.com"), url_label=UrlLabel("Learn more"), ) ],