@@ -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