Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions mavis/test/pages/add_session_wizard_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,24 +93,27 @@ def fill_date_fields(self, date: str) -> None:
self.month_textbox.last.fill(str(month))
self.year_textbox.last.fill(str(year))

self.click_continue()

@step("Click Keep session dates")
def click_keep_session_dates(self) -> None:
self.keep_session_dates_button.click()

def schedule_school_session(
self,
school: School,
school: School | None,
programmes: list[Programme],
year_groups: list[int],
date_offset: int,
date_offset: int | None,
) -> None:
self.select_school_session()
self.select_school(school)
if school is not None:
self.select_school_session()
self.select_school(school)

self.choose_programmes(programmes)
self.select_year_groups(year_groups)
self.fill_date_fields(get_offset_date_compact_format(date_offset))

if date_offset is not None:
self.fill_date_fields(get_offset_date_compact_format(date_offset))
self.click_continue()

self.keep_session_dates_if_necessary()

Expand All @@ -123,7 +126,9 @@ def schedule_clinic_session(
) -> None:
self.select_community_clinic()
self.choose_programmes(programmes)

self.fill_date_fields(get_offset_date_compact_format(date_offset))
self.click_continue()

self.click_continue()

Expand Down
39 changes: 39 additions & 0 deletions mavis/test/pages/schools/schools_sessions_page.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from playwright.sync_api import Page

from mavis.test.annotations import step
from mavis.test.constants import Programme
from mavis.test.pages.header_component import HeaderComponent
from mavis.test.pages.schools.schools_tabs import SchoolsTabs

Expand All @@ -11,7 +12,45 @@ def __init__(self, page: Page) -> None:
self.header = HeaderComponent(page)
self.tabs = SchoolsTabs(page)
self.add_a_new_session_link = page.get_by_role("link", name="Add a new session")
self.scheduled_sessions_heading = page.get_by_role(
"heading", name="Scheduled sessions"
)
self.unscheduled_sessions_heading = page.get_by_role(
"heading", name="Unscheduled sessions"
)

@step("Click Add a new session")
def click_add_a_new_session(self) -> None:
self.add_a_new_session_link.click()

@step("Verify session exists")
def verify_session_exists(
self,
programmes: list[str],
year_groups: list[int],
*,
scheduled: bool = True,
) -> None:
self.page.wait_for_load_state()

heading_locator = (
self.scheduled_sessions_heading
if scheduled
else self.unscheduled_sessions_heading
)
sessions_locator = heading_locator.locator("xpath=following-sibling::*[1]")
session_card_locators = sessions_locator.locator(".nhsuk-card__content")
for session_card_locator in session_card_locators.all():
session_card_text = session_card_locator.inner_text()
if all(
"Flu"
if programme is Programme.FLU
else str(programme) in session_card_text
for programme in programmes
) and all(
"Reception" if year_group == 0 else str(year_group) in session_card_text
for year_group in year_groups
):
return
msg = "Session with specified programmes and year groups not found."
raise AssertionError(msg)
5 changes: 4 additions & 1 deletion mavis/test/pages/sessions/sessions_overview_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,10 @@ def click_send_manual_consent_reminders(self) -> None:
self.send_manual_consent_reminders_button.click()

def get_online_consent_url(self, *programmes: Programme) -> str:
programme_names = [str(programme) for programme in programmes]
programme_names = [
"MMR" if programme is Programme.MMR else str(programme)
for programme in programmes
]
link_text = f"View the {' and '.join(programme_names)} online consent form"
return str(self.page.get_by_role("link", name=link_text).get_attribute("href"))

Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ markers = [
"reporting",
"reports",
"school_moves",
"schools",
"sessions",
"smoke",
"tallying",
Expand Down