Skip to content

Commit f47863a

Browse files
committed
GH-259: Remove under embargo from funding programme
1 parent 834cb21 commit f47863a

4 files changed

Lines changed: 20 additions & 67 deletions

File tree

schemes/domain/schemes/overview.py

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,24 @@ class SchemeType(Enum):
1313
@dataclass(frozen=True)
1414
class FundingProgramme:
1515
code: str
16-
is_under_embargo: bool
1716
is_eligible_for_authority_update: bool
1817

1918

2019
class FundingProgrammes:
21-
ATF2 = FundingProgramme("ATF2", False, True)
22-
ATF3 = FundingProgramme("ATF3", False, True)
23-
ATF4 = FundingProgramme("ATF4", False, True)
24-
ATF4E = FundingProgramme("ATF4e", False, True)
25-
ATF5 = FundingProgramme("ATF5", False, True)
26-
CATF = FundingProgramme("CATF", False, True)
27-
CRSTS = FundingProgramme("CRSTS", False, False)
28-
IST = FundingProgramme("IST", False, True)
29-
LUF1 = FundingProgramme("LUF1", False, False)
30-
LUF2 = FundingProgramme("LUF2", False, False)
31-
LUF3 = FundingProgramme("LUF3", False, False)
32-
MRN = FundingProgramme("MRN", False, False)
33-
OTH = FundingProgramme("OTH", False, False)
34-
CON = FundingProgramme("CON", False, True)
20+
ATF2 = FundingProgramme("ATF2", True)
21+
ATF3 = FundingProgramme("ATF3", True)
22+
ATF4 = FundingProgramme("ATF4", True)
23+
ATF4E = FundingProgramme("ATF4e", True)
24+
ATF5 = FundingProgramme("ATF5", True)
25+
CATF = FundingProgramme("CATF", True)
26+
CRSTS = FundingProgramme("CRSTS", False)
27+
IST = FundingProgramme("IST", True)
28+
LUF1 = FundingProgramme("LUF1", False)
29+
LUF2 = FundingProgramme("LUF2", False)
30+
LUF3 = FundingProgramme("LUF3", False)
31+
MRN = FundingProgramme("MRN", False)
32+
OTH = FundingProgramme("OTH", False)
33+
CON = FundingProgramme("CON", True)
3534

3635

3736
class OverviewRevision:

schemes/domain/schemes/schemes.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,8 @@ def reviews(self) -> SchemeReviews:
5656
@property
5757
def is_updateable(self) -> bool:
5858
is_active = self.status == Status.ACTIVE
59-
is_under_embargo = self._is_under_embargo(self.overview.funding_programme)
6059
is_eligible_for_authority_update = self._is_eligible_for_authority_update(self.overview.funding_programme)
61-
return is_active and not is_under_embargo and is_eligible_for_authority_update
62-
63-
@staticmethod
64-
def _is_under_embargo(funding_programme: FundingProgramme | None) -> bool:
65-
return funding_programme.is_under_embargo if funding_programme else False
60+
return is_active and is_eligible_for_authority_update
6661

6762
@staticmethod
6863
def _is_eligible_for_authority_update(funding_programme: FundingProgramme | None) -> bool:

schemes/infrastructure/api/funding_programmes.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ class FundingProgrammeModel(BaseModel):
1111
code: str
1212

1313
def to_domain(self) -> FundingProgramme:
14-
# TODO: is_under_embargo, is_eligible_for_authority_update
15-
return FundingProgramme(code=self.code, is_under_embargo=False, is_eligible_for_authority_update=True)
14+
# TODO: is_eligible_for_authority_update
15+
return FundingProgramme(code=self.code, is_eligible_for_authority_update=True)
1616

1717

1818
class FundingProgrammeItemModel(BaseModel):
1919
id: Annotated[AnyUrl, Field(alias="@id")]
2020
code: str
2121

2222
def to_domain(self) -> FundingProgramme:
23-
# TODO: is_under_embargo, is_eligible_for_authority_update
24-
return FundingProgramme(code=self.code, is_under_embargo=False, is_eligible_for_authority_update=True)
23+
# TODO: is_eligible_for_authority_update
24+
return FundingProgramme(code=self.code, is_eligible_for_authority_update=True)

tests/unit/domain/schemes/test_schemes.py

Lines changed: 1 addition & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -64,26 +64,7 @@ def test_is_updateable_when_active(self, status: Status, expected_updateable: bo
6464
"funding_programme, expected_updateable",
6565
[
6666
(FundingProgrammes.ATF4, True),
67-
(FundingProgramme("ATF100", True, False), False),
68-
],
69-
)
70-
def test_is_updateable_when_not_under_embargo(
71-
self, funding_programme: FundingProgramme, expected_updateable: bool
72-
) -> None:
73-
scheme = build_scheme(
74-
reference="ATE00001",
75-
name="Wirral Package",
76-
funding_programme=funding_programme,
77-
status=Status.ACTIVE,
78-
)
79-
80-
assert scheme.is_updateable == expected_updateable
81-
82-
@pytest.mark.parametrize(
83-
"funding_programme, expected_updateable",
84-
[
85-
(FundingProgrammes.ATF4, True),
86-
(FundingProgramme("ATF100", False, False), False),
67+
(FundingProgramme("ATF100", False), False),
8768
],
8869
)
8970
def test_is_updateable_when_eligible_for_authority_update(
@@ -147,28 +128,6 @@ class TestFundingProgrammes:
147128
def test_code(self, funding_programme: FundingProgramme, expected_code: str) -> None:
148129
assert funding_programme.code == expected_code
149130

150-
@pytest.mark.parametrize(
151-
"funding_programme, expected_is_under_embargo",
152-
[
153-
(FundingProgrammes.ATF2, False),
154-
(FundingProgrammes.ATF3, False),
155-
(FundingProgrammes.ATF4, False),
156-
(FundingProgrammes.ATF4E, False),
157-
(FundingProgrammes.ATF5, False),
158-
(FundingProgrammes.CATF, False),
159-
(FundingProgrammes.CRSTS, False),
160-
(FundingProgrammes.IST, False),
161-
(FundingProgrammes.LUF1, False),
162-
(FundingProgrammes.LUF2, False),
163-
(FundingProgrammes.LUF3, False),
164-
(FundingProgrammes.MRN, False),
165-
(FundingProgrammes.OTH, False),
166-
(FundingProgrammes.CON, False),
167-
],
168-
)
169-
def test_is_under_embargo(self, funding_programme: FundingProgramme, expected_is_under_embargo: bool) -> None:
170-
assert funding_programme.is_under_embargo == expected_is_under_embargo
171-
172131
@pytest.mark.parametrize(
173132
"funding_programme, expected_is_eligible_for_authority_update",
174133
[

0 commit comments

Comments
 (0)