Skip to content

Commit 60cc629

Browse files
committed
Refactoring reports_page and test_reports_page
1 parent 469f0c7 commit 60cc629

File tree

2 files changed

+252
-100
lines changed

2 files changed

+252
-100
lines changed

pages/reports_page.py

Lines changed: 93 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,98 @@ class ReportsPage(BasePage):
66
def __init__(self, page):
77
super().__init__(page)
88
self.page = page
9+
910
# Reports page main menu links
1011
self.bureau_reports_page = self.page.get_by_role("link", name="Bureau Reports")
11-
self.failsafe_reports_page = self.page.get_by_role("link", name="Failsafe Reports")
12-
self.operational_reports_page = self.page.get_by_role("link", name="Operational Reports")
13-
self.strategic_reports_page = self.page.get_by_role("link", name="Strategic Reports")
14-
self.cancer_waiting_times_reports_page = self.page.get_by_role("link", name="Cancer Waiting Times Reports")
12+
self.failsafe_reports_page = self.page.get_by_role(
13+
"link", name="Failsafe Reports"
14+
)
15+
self.operational_reports_page = self.page.get_by_role(
16+
"link", name="Operational Reports"
17+
)
18+
self.strategic_reports_page = self.page.get_by_role(
19+
"link", name="Strategic Reports"
20+
)
21+
self.cancer_waiting_times_reports_page = self.page.get_by_role(
22+
"link", name="Cancer Waiting Times Reports"
23+
)
1524
self.dashboard = self.page.get_by_role("link", name="Dashboard")
16-
self.qa_report_dataset_completion_page = self.page.get_by_role("link", name="QA Report : Dataset Completion")
17-
# Reports pages shared buttons & links
25+
self.qa_report_dataset_completion_page = self.page.get_by_role(
26+
"link", name="QA Report : Dataset Completion"
27+
)
28+
29+
# Reports pages shared buttons, locators & links
1830
self.refresh_page_button = self.page.get_by_role("button", name="Refresh")
19-
self.generate_report_button = self.page.get_by_role("button", name="Generate Report")
31+
self.generate_report_button = self.page.get_by_role(
32+
"button", name="Generate Report"
33+
)
2034
self.reports_update_button = self.page.get_by_role("button", name="Update")
21-
self.report_timestamp_element = self.page.locator("b")
22-
self.set_patients_screening_centre_dropdown = self.page.locator("#cboScreeningCentre")
35+
36+
self.set_patients_screening_centre_dropdown = self.page.locator(
37+
"#cboScreeningCentre"
38+
)
39+
self.report_start_date_field = self.page.get_by_role(
40+
"textbox", name="Report Start Date"
41+
)
42+
43+
# Timestamp locators
44+
self.common_report_timestamp_element = self.page.locator("b")
45+
self.subject_ceased_report_timestamp_element = self.page.locator(
46+
"#displayGenerateDate > tbody > tr > td > b"
47+
)
48+
49+
# NHS Number (on report table) Link locators
50+
self.subject_ceased_table_nhs_number_link = self.page.locator(
51+
"#listReportDataTable > tbody > tr:nth-child(3) > td:nth-child(1) > a"
52+
)
53+
self.subject_ceased_table_nhs_number_link = self.page.locator(
54+
"#listReportDataTable > tbody > tr:nth-child(3) > td:nth-child(1) > a"
55+
)
56+
self.allocate_sc_hub_boundaries_nhs_number_link = self.page.locator(
57+
"//*[@id='listReportDataTable']/tbody/tr[3]/td[1]"
58+
)
59+
2360

2461
# Failsafe Reports menu links
25-
self.date_report_last_requested_page = self.page.get_by_role("link", name="Date Report Last Requested")
26-
self.screening_subjects_with_inactive_open_episode_link_page = self.page.get_by_role("link", name="Screening Subjects With")
27-
self.subjects_ceased_due_to_date_of_birth_changes_page = self.page.get_by_role("link", name="Subjects Ceased Due to Date")
28-
self.allocate_sc_for_patient_movements_within_hub_boundaries_page = self.page.get_by_role("link", name="Allocate SC for Patient Movements within Hub Boundaries")
29-
self.allocate_sc_for_patient_movements_into_your_hub_page = self.page.get_by_role("link", name="Allocate SC for Patient Movements into your Hub")
30-
self.identify_and_link_new_gp_page = self.page.get_by_role("link", name="Identify and link new GP")
62+
self.date_report_last_requested_page = self.page.get_by_role(
63+
"link", name="Date Report Last Requested"
64+
)
65+
self.screening_subjects_with_inactive_open_episode_link_page = (
66+
self.page.get_by_role("link", name="Screening Subjects With")
67+
)
68+
self.subjects_ceased_due_to_date_of_birth_changes_page = self.page.get_by_role(
69+
"link", name="Subjects Ceased Due to Date"
70+
)
71+
self.allocate_sc_for_patient_movements_within_hub_boundaries_page = (
72+
self.page.get_by_role(
73+
"link", name="Allocate SC for Patient Movements within Hub Boundaries"
74+
)
75+
)
76+
self.allocate_sc_for_patient_movements_into_your_hub_page = (
77+
self.page.get_by_role(
78+
"link", name="Allocate SC for Patient Movements into your Hub"
79+
)
80+
)
81+
self.identify_and_link_new_gp_page = self.page.get_by_role(
82+
"link", name="Identify and link new GP"
83+
)
84+
3185
# Operational Reports menu links
32-
self.appointment_attendance_not_updated_page = self.page.get_by_role("link", name="Appointment Attendance Not")
33-
self.fobt_kits_logged_but_not_read_page = self.page.get_by_role("link", name="FOBT Kits Logged but Not Read")
34-
self.demographic_update_inconsistent_with_manual_update_page = self.page.get_by_role("link", name="Demographic Update")
35-
self.screening_practitioner_6_weeks_availability_not_set_up_report_page = page.get_by_role("link", name="Screening Practitioner 6")
36-
self.screening_practitioner_appointments_page = self.page.get_by_role("link", name="Screening Practitioner Appointments")
86+
self.appointment_attendance_not_updated_page = self.page.get_by_role(
87+
"link", name="Appointment Attendance Not"
88+
)
89+
self.fobt_kits_logged_but_not_read_page = self.page.get_by_role(
90+
"link", name="FOBT Kits Logged but Not Read"
91+
)
92+
self.demographic_update_inconsistent_with_manual_update_page = (
93+
self.page.get_by_role("link", name="Demographic Update")
94+
)
95+
self.screening_practitioner_6_weeks_availability_not_set_up_report_page = (
96+
page.get_by_role("link", name="Screening Practitioner 6")
97+
)
98+
self.screening_practitioner_appointments_page = self.page.get_by_role(
99+
"link", name="Screening Practitioner Appointments"
100+
)
37101

38102
# Reports page main menu links
39103
def go_to_failsafe_reports_page(self) -> None:
@@ -71,7 +135,9 @@ def go_to_screening_subjects_with_inactive_open_episode_link_page(self) -> None:
71135
def go_to_subjects_ceased_due_to_date_of_birth_changes_page(self) -> None:
72136
self.click(self.subjects_ceased_due_to_date_of_birth_changes_page)
73137

74-
def go_to_allocate_sc_for_patient_movements_within_hub_boundaries_page(self) -> None:
138+
def go_to_allocate_sc_for_patient_movements_within_hub_boundaries_page(
139+
self,
140+
) -> None:
75141
self.click(self.allocate_sc_for_patient_movements_within_hub_boundaries_page)
76142

77143
def go_to_allocate_sc_for_patient_movements_into_your_hub_page(self) -> None:
@@ -90,8 +156,12 @@ def go_to_fobt_kits_logged_but_not_read_page(self) -> None:
90156
def go_to_demographic_update_inconsistent_with_manual_update_page(self) -> None:
91157
self.click(self.demographic_update_inconsistent_with_manual_update_page)
92158

93-
def go_to_screening_practitioner_6_weeks_availability_not_set_up_report_page(self) -> None:
94-
self.click(self.screening_practitioner_6_weeks_availability_not_set_up_report_page)
159+
def go_to_screening_practitioner_6_weeks_availability_not_set_up_report_page(
160+
self,
161+
) -> None:
162+
self.click(
163+
self.screening_practitioner_6_weeks_availability_not_set_up_report_page
164+
)
95165

96166
def go_to_screening_practitioner_appointments_page(self) -> None:
97167
self.click(self.screening_practitioner_appointments_page)

0 commit comments

Comments
 (0)