1919 ProgrammesListPage ,
2020 SchoolsChildrenPage ,
2121 SchoolsSearchPage ,
22- SessionsEditPage ,
2322 SessionsOverviewPage ,
24- SessionsSearchPage ,
2523 VaccinesPage ,
2624)
25+ from mavis .test .pages .utils import schedule_school_session_if_needed
2726from mavis .test .utils import get_offset_date
2827
2928
@@ -57,23 +56,16 @@ def wrapper(vaccine: Vaccine, batch_name: str = "ABC123"):
5756
5857@pytest .fixture
5958def schedule_session_and_get_consent_url (
60- set_feature_flags ,
61- nurse ,
62- team ,
63- page ,
59+ set_feature_flags , nurse , team , page , year_groups
6460):
6561 def wrapper (school : School , * programmes : Programme ):
62+ year_group = year_groups [programmes [0 ].group ]
63+
6664 LogInPage (page ).navigate ()
6765 LogInPage (page ).log_in_and_choose_team_if_necessary (nurse , team )
68- DashboardPage (page ).click_sessions ()
69- SessionsSearchPage (page ).click_session_for_programme_group (
70- school , programmes [0 ].group
66+ schedule_school_session_if_needed (
67+ page , school , list (programmes ), [year_group ], date_offset = 7
7168 )
72- if not SessionsOverviewPage (page ).is_date_scheduled (get_offset_date (7 )):
73- SessionsOverviewPage (page ).schedule_or_edit_session ()
74- SessionsEditPage (page ).schedule_a_valid_session (
75- offset_days = 7 , skip_weekends = False
76- )
7769 url = SessionsOverviewPage (page ).get_online_consent_url (* programmes )
7870 LogInPage (page ).log_out ()
7971 yield url
@@ -83,21 +75,17 @@ def wrapper(school: School, *programmes: Programme):
8375
8476@pytest .fixture
8577def schedule_mmr_session_and_get_consent_url (
86- set_feature_flags ,
87- nurse ,
88- team ,
89- page ,
78+ set_feature_flags , nurse , team , page , year_groups
9079):
9180 def wrapper (school : School , * programmes : Programme ):
9281 try :
82+ year_group = year_groups [programmes [0 ].group ]
83+
9384 LogInPage (page ).navigate ()
9485 LogInPage (page ).log_in_and_choose_team_if_necessary (nurse , team )
95- DashboardPage (page ).click_sessions ()
96- SessionsSearchPage (page ).click_session_for_programme_group (
97- school , programmes [0 ].group
86+ schedule_school_session_if_needed (
87+ page , school , list (programmes ), [year_group ], date_offset = 7
9888 )
99- SessionsOverviewPage (page ).schedule_or_edit_session ()
100- SessionsEditPage (page ).schedule_a_valid_mmr_session ()
10189 url = SessionsOverviewPage (page ).get_online_consent_url (* programmes )
10290 LogInPage (page ).log_out ()
10391 yield url
@@ -173,14 +161,7 @@ def wrapper(
173161 child .year_group ,
174162 programme .group ,
175163 )
176- ImportsPage (page ).header .click_mavis_header ()
177- DashboardPage (page ).click_sessions ()
178- SessionsSearchPage (page ).click_session_for_programme_group (school , programme )
179- if not SessionsOverviewPage (page ).is_date_scheduled (get_offset_date (0 )):
180- SessionsOverviewPage (page ).schedule_or_edit_session ()
181- SessionsEditPage (page ).schedule_a_valid_session (
182- offset_days = 0 , skip_weekends = False
183- )
164+ schedule_school_session_if_needed (page , school , [programme ], [child .year_group ])
184165 session_id = SessionsOverviewPage (page ).get_session_id_from_offline_excel ()
185166 SessionsOverviewPage (page ).header .click_mavis_header ()
186167 DashboardPage (page ).click_imports ()
@@ -228,14 +209,14 @@ def _setup(programme_group):
228209 }
229210 VaccinesPage (page ).header .click_mavis_header ()
230211 DashboardPage (page ).click_sessions ()
231- SessionsSearchPage (page ).click_session_for_programme_group (
232- school , programme_group
212+ session_programmes = [
213+ programme
214+ for programme in Programme
215+ if programme .group == programme_group
216+ ]
217+ schedule_school_session_if_needed (
218+ page , school , session_programmes , [child .year_group ]
233219 )
234- if not SessionsOverviewPage (page ).is_date_scheduled (get_offset_date (0 )):
235- SessionsOverviewPage (page ).schedule_or_edit_session ()
236- SessionsEditPage (page ).schedule_a_valid_session (
237- offset_days = 0 , skip_weekends = False
238- )
239220 SessionsOverviewPage (page ).header .click_mavis_header ()
240221 DashboardPage (page ).click_schools ()
241222 SchoolsSearchPage (page ).click_school (school )
0 commit comments