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
26 changes: 24 additions & 2 deletions mavis/test/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,18 @@
schedule_session_and_get_consent_url,
school_moves_page,
schools,
sessions_page,
sessions_children_page,
sessions_consent_page,
sessions_edit_page,
sessions_overview_page,
sessions_patient_page,
sessions_patient_session_activity_page,
sessions_psd_page,
sessions_record_vaccinations_page,
sessions_register_page,
sessions_search_page,
sessions_triage_page,
sessions_vaccination_wizard_page,
set_feature_flags,
setup_session_and_batches_with_fixed_child,
start_page,
Expand Down Expand Up @@ -134,7 +145,18 @@
"schedule_session_and_get_consent_url",
"school_moves_page",
"schools",
"sessions_page",
"sessions_children_page",
"sessions_consent_page",
"sessions_edit_page",
"sessions_overview_page",
"sessions_patient_page",
"sessions_patient_session_activity_page",
"sessions_psd_page",
"sessions_record_vaccinations_page",
"sessions_register_page",
"sessions_search_page",
"sessions_triage_page",
"sessions_vaccination_wizard_page",
"set_feature_flags",
"setup_session_and_batches_with_fixed_child",
"start_page",
Expand Down
26 changes: 24 additions & 2 deletions mavis/test/fixtures/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,18 @@
reports_vaccinations_page,
review_school_move_page,
school_moves_page,
sessions_page,
sessions_children_page,
sessions_consent_page,
sessions_edit_page,
sessions_overview_page,
sessions_patient_page,
sessions_patient_session_activity_page,
sessions_psd_page,
sessions_record_vaccinations_page,
sessions_register_page,
sessions_search_page,
sessions_triage_page,
sessions_vaccination_wizard_page,
start_page,
team_page,
unmatched_consent_responses_page,
Expand Down Expand Up @@ -136,7 +147,18 @@
"schedule_session_and_get_consent_url",
"school_moves_page",
"schools",
"sessions_page",
"sessions_children_page",
"sessions_consent_page",
"sessions_edit_page",
"sessions_overview_page",
"sessions_patient_page",
"sessions_patient_session_activity_page",
"sessions_psd_page",
"sessions_record_vaccinations_page",
"sessions_register_page",
"sessions_search_page",
"sessions_triage_page",
"sessions_vaccination_wizard_page",
"set_feature_flags",
"setup_session_and_batches_with_fixed_child",
"start_page",
Expand Down
134 changes: 68 additions & 66 deletions mavis/test/fixtures/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,25 +45,25 @@ def schedule_session_and_get_consent_url(
team,
dashboard_page,
log_in_page,
sessions_page,
sessions_edit_page,
sessions_search_page,
sessions_overview_page,
):
def wrapper(school: School, *programmes: Programme):
try:
log_in_page.navigate()
log_in_page.log_in_and_choose_team_if_necessary(nurse, team)
dashboard_page.click_sessions()
sessions_page.ensure_session_scheduled_for_next_week(
school, programmes[0].group
log_in_page.navigate()
log_in_page.log_in_and_choose_team_if_necessary(nurse, team)
dashboard_page.click_sessions()
sessions_search_page.click_session_for_programme_group(
school, programmes[0].group
)
if not sessions_overview_page.is_date_scheduled(get_offset_date(7)):
sessions_overview_page.schedule_or_edit_session()
sessions_edit_page.schedule_a_valid_session(
offset_days=7, skip_weekends=False
)
url = sessions_page.get_online_consent_url(*programmes)
log_in_page.log_out()
yield url
finally:
log_in_page.navigate()
log_in_page.log_in_and_choose_team_if_necessary(nurse, team)
dashboard_page.click_sessions()
sessions_page.delete_all_sessions(school)
log_in_page.log_out()
url = sessions_overview_page.get_online_consent_url(*programmes)
log_in_page.log_out()
yield url

return wrapper

Expand All @@ -75,25 +75,25 @@ def schedule_mmr_session_and_get_consent_url(
team,
dashboard_page,
log_in_page,
sessions_page,
sessions_edit_page,
sessions_search_page,
sessions_overview_page,
):
def wrapper(school: School, *programmes: Programme):
try:
log_in_page.navigate()
log_in_page.log_in_and_choose_team_if_necessary(nurse, team)
dashboard_page.click_sessions()
sessions_page.click_session_for_programme_group(school, programmes[0].group)
sessions_page.schedule_a_valid_mmr_session()
url = sessions_page.get_online_consent_url(*programmes)
sessions_search_page.click_session_for_programme_group(
school, programmes[0].group
)
sessions_overview_page.schedule_or_edit_session()
sessions_edit_page.schedule_a_valid_mmr_session()
url = sessions_overview_page.get_online_consent_url(*programmes)
log_in_page.log_out()
yield url
finally:
log_in_page.log_out()
log_in_page.navigate()
log_in_page.log_in_and_choose_team_if_necessary(nurse, team)
dashboard_page.click_sessions()
sessions_page.delete_all_sessions(school)
log_in_page.log_out()

return wrapper

Expand Down Expand Up @@ -133,7 +133,9 @@ def upload_offline_vaccination(
schools,
dashboard_page,
import_records_wizard_page,
sessions_page,
sessions_edit_page,
sessions_search_page,
sessions_overview_page,
programmes_list_page,
programme_children_page,
programme_overview_page,
Expand Down Expand Up @@ -161,44 +163,41 @@ def wrapper(
msg = "Update upload_offline_vaccination to handle programme"
raise ValueError(msg)

try:
dashboard_page.click_sessions()
sessions_page.ensure_session_scheduled_for_today(
school,
programme,
dashboard_page.click_mavis()
dashboard_page.click_sessions()
sessions_search_page.click_session_for_programme_group(school, programme.group)
if not sessions_overview_page.is_date_scheduled(get_offset_date(0)):
sessions_overview_page.schedule_or_edit_session()
sessions_edit_page.schedule_a_valid_session(
offset_days=0, skip_weekends=False
)
sessions_page.click_import_class_lists()
import_records_wizard_page.import_class_list(
ClassFileMapping.FIXED_CHILD,
child.year_group,
programme.group,
)
dashboard_page.click_mavis()
dashboard_page.click_sessions()
sessions_page.click_session_for_programme_group(school, programme)
session_id = sessions_page.get_session_id_from_offline_excel()
dashboard_page.click_mavis()
dashboard_page.click_import_records()
imports_page.click_import_records()
import_records_wizard_page.navigate_to_vaccination_records_import()
import_records_wizard_page.upload_and_verify_output(
file_mapping=vaccs_file,
session_id=session_id,
programme_group=programme.group,
)
dashboard_page.click_mavis()
dashboard_page.click_programmes()
programmes_list_page.click_programme_for_current_year(programme)
programme_overview_page.click_children_tab()
programme_children_page.search_for_child(child)
programme_children_page.click_child(child)
child_record_page.click_vaccination_details(programme)
yield
finally:
dashboard_page.navigate()
dashboard_page.click_mavis()
dashboard_page.click_sessions()
sessions_page.delete_all_sessions(school)
sessions_overview_page.click_import_class_lists()
import_records_wizard_page.import_class_list(
ClassFileMapping.FIXED_CHILD,
child.year_group,
programme.group,
)
dashboard_page.click_mavis()
dashboard_page.click_sessions()
sessions_search_page.click_session_for_programme_group(school, programme)
session_id = sessions_overview_page.get_session_id_from_offline_excel()
dashboard_page.click_mavis()
dashboard_page.click_import_records()
imports_page.click_import_records()
import_records_wizard_page.navigate_to_vaccination_records_import()
import_records_wizard_page.upload_and_verify_output(
file_mapping=vaccs_file,
session_id=session_id,
programme_group=programme.group,
)
dashboard_page.click_mavis()
dashboard_page.click_programmes()
programmes_list_page.click_programme_for_current_year(programme)
programme_overview_page.click_children_tab()
programme_children_page.search_for_child(child)
programme_children_page.click_child(child)
child_record_page.click_vaccination_details(programme)
yield

return wrapper

Expand All @@ -208,7 +207,8 @@ def setup_session_and_batches_with_fixed_child(
add_vaccine_batch,
schools,
dashboard_page,
sessions_page,
sessions_search_page,
sessions_overview_page,
import_records_wizard_page,
children,
log_in_page,
Expand All @@ -229,8 +229,10 @@ def _setup(programme_group):
}
dashboard_page.click_mavis()
dashboard_page.click_sessions()
sessions_page.click_session_for_programme_group(school, programme_group)
sessions_page.click_import_class_lists()
sessions_search_page.click_session_for_programme_group(
school, programme_group
)
sessions_overview_page.click_import_class_lists()
import_records_wizard_page.import_class_list(
ClassFileMapping.FIXED_CHILD,
child.year_group,
Expand Down
74 changes: 71 additions & 3 deletions mavis/test/fixtures/pages.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,18 @@
ReportsVaccinationsPage,
ReviewSchoolMovePage,
SchoolMovesPage,
SessionsPage,
SessionsChildrenPage,
SessionsConsentPage,
SessionsEditPage,
SessionsOverviewPage,
SessionsPatientPage,
SessionsPatientSessionActivityPage,
SessionsPsdPage,
SessionsRecordVaccinationsPage,
SessionsRegisterPage,
SessionsSearchPage,
SessionsTriagePage,
SessionsVaccinationWizardPage,
StartPage,
TeamPage,
UnmatchedConsentResponsesPage,
Expand Down Expand Up @@ -193,8 +204,65 @@ def school_moves_page(page: Page) -> SchoolMovesPage:


@pytest.fixture
def sessions_page(page: Page) -> SessionsPage:
return SessionsPage(page)
def sessions_psd_page(page: Page) -> SessionsPsdPage:
return SessionsPsdPage(page)


@pytest.fixture
def sessions_search_page(page: Page) -> SessionsSearchPage:
return SessionsSearchPage(page)


@pytest.fixture
def sessions_overview_page(page: Page) -> SessionsOverviewPage:
return SessionsOverviewPage(page)


@pytest.fixture
def sessions_edit_page(page: Page) -> SessionsEditPage:
return SessionsEditPage(page)


@pytest.fixture
def sessions_children_page(page: Page) -> SessionsChildrenPage:
return SessionsChildrenPage(page)


@pytest.fixture
def sessions_consent_page(page: Page) -> SessionsConsentPage:
return SessionsConsentPage(page)


@pytest.fixture
def sessions_triage_page(page: Page) -> SessionsTriagePage:
return SessionsTriagePage(page)


@pytest.fixture
def sessions_register_page(page: Page) -> SessionsRegisterPage:
return SessionsRegisterPage(page)


@pytest.fixture
def sessions_record_vaccinations_page(page: Page) -> SessionsRecordVaccinationsPage:
return SessionsRecordVaccinationsPage(page)


@pytest.fixture
def sessions_patient_page(page: Page) -> SessionsPatientPage:
return SessionsPatientPage(page)


@pytest.fixture
def sessions_patient_session_activity_page(
page: Page,
) -> SessionsPatientSessionActivityPage:
return SessionsPatientSessionActivityPage(page)


@pytest.fixture
def sessions_vaccination_wizard_page(page: Page) -> SessionsVaccinationWizardPage:
return SessionsVaccinationWizardPage(page)


@pytest.fixture
Expand Down
28 changes: 26 additions & 2 deletions mavis/test/pages/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,20 @@
)
from .reports import ReportsDownloadPage, ReportsVaccinationsPage
from .school_moves import DownloadSchoolMovesPage, ReviewSchoolMovePage, SchoolMovesPage
from .sessions import SessionsPage
from .sessions import (
SessionsChildrenPage,
SessionsConsentPage,
SessionsEditPage,
SessionsOverviewPage,
SessionsPatientPage,
SessionsPatientSessionActivityPage,
SessionsPsdPage,
SessionsRecordVaccinationsPage,
SessionsRegisterPage,
SessionsSearchPage,
SessionsTriagePage,
SessionsVaccinationWizardPage,
)
from .start import StartPage
from .team import TeamPage
from .vaccination_record import EditVaccinationRecordPage, VaccinationRecordPage
Expand Down Expand Up @@ -67,7 +80,18 @@
"ReportsVaccinationsPage",
"ReviewSchoolMovePage",
"SchoolMovesPage",
"SessionsPage",
"SessionsChildrenPage",
"SessionsConsentPage",
"SessionsEditPage",
"SessionsOverviewPage",
"SessionsPatientPage",
"SessionsPatientSessionActivityPage",
"SessionsPsdPage",
"SessionsRecordVaccinationsPage",
"SessionsRegisterPage",
"SessionsSearchPage",
"SessionsTriagePage",
"SessionsVaccinationWizardPage",
"StartPage",
"TeamPage",
"UnmatchedConsentResponsesPage",
Expand Down
Loading