Skip to content

Commit 31f21a8

Browse files
Update to match new location of programme types field
1 parent b699df5 commit 31f21a8

File tree

5 files changed

+13
-4
lines changed

5 files changed

+13
-4
lines changed

mavis/reporting/api_client/client.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,7 @@ def get_programmes(self) -> list[dict]:
9595
{"value": "td_ipv", "text": "Td/IPV"},
9696
]
9797

98-
cis2_info = (self.session or {}).get("cis2_info", {})
99-
programme_types = cis2_info.get("programme_types", [])
98+
programme_types = (self.session or {}).get("programme_types", [])
10099

101100
if not programme_types:
102101
return all_programmes

mavis/reporting/helpers/auth_helper.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ def log_user_in(data: dict[str, Any], session: SessionMixin):
8989
session["user_id"] = jwt_data["user"]["id"]
9090
session["jwt"] = minimal_jwt(jwt_data)
9191
session["user_nav"] = data["user_nav"]
92+
session["programme_types"] = jwt_data["programme_types"]
9293

9394

9495
def minimal_jwt(data):

tests/api_client/test_client.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,15 +90,17 @@ def test_unknown_programme_returns_empty_list(self, api_client):
9090

9191
class TestGetProgrammes:
9292
def test_returns_all_when_no_programme_types(self, app):
93-
client = MavisApiClient(app=app, session={"jwt": "x", "cis2_info": {}})
93+
client = MavisApiClient(
94+
app=app, session={"jwt": "x", "cis2_info": {}, "programme_types": []}
95+
)
9496
result = client.get_programmes()
9597
values = [p["value"] for p in result]
9698
assert values == ["flu", "hpv", "menacwy", "td_ipv"]
9799

98100
def test_filters_by_programme_types(self, app):
99101
client = MavisApiClient(
100102
app=app,
101-
session={"jwt": "x", "cis2_info": {"programme_types": ["flu", "hpv"]}},
103+
session={"jwt": "x", "programme_types": ["flu", "hpv"]},
102104
)
103105
result = client.get_programmes()
104106
values = [p["value"] for p in result]

tests/helpers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ def mock_user_info():
3333
"team": {"name": "SAIS Team 1"},
3434
"workgroups": ["r1l"],
3535
},
36+
"programme_types": ["flu", "hpv"],
3637
},
3738
"user_nav": {
3839
"items": [

tests/helpers/test_auth_helper.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,9 @@ def test_log_user_in_sets_jwt(logged_in_session, user_data):
4545
== user_data["jwt_data"]["user"]["reporting_api_session_token"]
4646
)
4747
assert jwt_payload["data"]["cis2_info"] == user_data["jwt_data"]["cis2_info"]
48+
49+
50+
def test_log_user_in_sets_programme_types(logged_in_session, user_data):
51+
assert (
52+
logged_in_session["programme_types"] == user_data["jwt_data"]["programme_types"]
53+
)

0 commit comments

Comments
 (0)