Skip to content

Commit 34e5396

Browse files
BCSS-20020: Compartment 1 Smokescreen Tests (#7)
<!-- markdownlint-disable-next-line first-line-heading --> Compartment 1 Smokescreen Tests <!-- Describe your changes in detail. --> This pr covers the addition of tests and functions required for the Compartment 1 Smokescreen Tests <!-- Why is this change required? What problem does it solve? --> This completes the migration of the compartment 1 tests from selenium to playwright <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply. --> - [x] Refactoring (non-breaking change) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would change existing functionality) - [ ] Bug fix (non-breaking change which fixes an issue) <!-- Go over all the following points, and put an `x` in all the boxes that apply. --> - [x] I am familiar with the [contributing guidelines](https://github.com/nhs-england-tools/playwright-python-blueprint/blob/main/CONTRIBUTING.md) - [x] I have followed the code style of the project - [x] I have added tests to cover my changes (where appropriate) - [x] I have updated the documentation accordingly - [x] This PR is a result of pair or mob programming --- To ensure the utmost confidentiality and protect your and others privacy, we kindly ask you to NOT including [PII (Personal Identifiable Information) / PID (Personal Identifiable Data)](https://digital.nhs.uk/data-and-information/keeping-data-safe-and-benefitting-the-public) or any other sensitive data in this PR (Pull Request) and the codebase changes. We will remove any PR that do contain any sensitive information. We really appreciate your cooperation in this matter. - [x] I confirm that neither PII/PID nor sensitive data are included in this PR and the codebase changes. --------- Co-authored-by: Dave Harding <[email protected]>
1 parent f99d360 commit 34e5396

File tree

8 files changed

+690
-0
lines changed

8 files changed

+690
-0
lines changed

.idea/shelf/Uncommitted_changes_before_Checkout_at_19_03_2025,_14_43_[Changes]/shelved.patch

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/shelf/Uncommitted_changes_before_Checkout_at_19_03_2025__14_43__Changes_.xml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/shelf/Uncommitted_changes_before_Checkout_at_20_03_2025,_14_34_[Changes]/shelved.patch

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/shelf/Uncommitted_changes_before_Checkout_at_20_03_2025__14_34__Changes_.xml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/workspace.xml

Lines changed: 284 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pages/reports_page.py

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ class ReportsPage(BasePage):
66
def __init__(self, page):
77
super().__init__(page)
88
self.page = page
9+
<<<<<<< HEAD
910

1011
# Reports page main menu links
1112
self.bureau_reports_link = self.page.get_by_text("Bureau Reports")
@@ -203,3 +204,94 @@ def click_nhs_number_link(self, page: Page) -> None:
203204
locator.click()
204205
except Exception:
205206
print("No NHS number links found on the page")
207+
=======
208+
# Reports page main menu links
209+
self.bureau_reports_page = self.page.get_by_role("link", name="Bureau Reports")
210+
self.failsafe_reports_page = self.page.get_by_role("link", name="Failsafe Reports")
211+
self.operational_reports_page = self.page.get_by_role("link", name="Operational Reports")
212+
self.strategic_reports_page = self.page.get_by_role("link", name="Strategic Reports")
213+
self.cancer_waiting_times_reports_page = self.page.get_by_role("link", name="Cancer Waiting Times Reports")
214+
self.dashboard = self.page.get_by_role("link", name="Dashboard")
215+
self.qa_report_dataset_completion_page = self.page.get_by_role("link", name="QA Report : Dataset Completion")
216+
# Reports pages shared buttons & links
217+
self.refresh_page_button = self.page.get_by_role("button", name="Refresh")
218+
self.generate_report_button = self.page.get_by_role("button", name="Generate Report")
219+
self.reports_update_button = self.page.get_by_role("button", name="Update")
220+
self.report_timestamp_element = self.page.locator("b")
221+
self.set_patients_screening_centre_dropdown = self.page.locator("#cboScreeningCentre")
222+
223+
# Failsafe Reports menu links
224+
self.date_report_last_requested_page = self.page.get_by_role("link", name="Date Report Last Requested")
225+
self.screening_subjects_with_inactive_open_episode_link_page = self.page.get_by_role("link", name="Screening Subjects With")
226+
self.subjects_ceased_due_to_date_of_birth_changes_page = self.page.get_by_role("link", name="Subjects Ceased Due to Date")
227+
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")
228+
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")
229+
self.identify_and_link_new_gp_page = self.page.get_by_role("link", name="Identify and link new GP")
230+
# Operational Reports menu links
231+
self.appointment_attendance_not_updated_page = self.page.get_by_role("link", name="Appointment Attendance Not")
232+
self.fobt_kits_logged_but_not_read_page = self.page.get_by_role("link", name="FOBT Kits Logged but Not Read")
233+
self.demographic_update_inconsistent_with_manual_update_page = self.page.get_by_role("link", name="Demographic Update")
234+
self.screening_practitioner_6_weeks_availability_not_set_up_report_page = page.get_by_role("link", name="Screening Practitioner 6")
235+
self.screening_practitioner_appointments_page = self.page.get_by_role("link", name="Screening Practitioner Appointments")
236+
237+
# Reports page main menu links
238+
def go_to_failsafe_reports_page(self) -> None:
239+
self.click(self.failsafe_reports_page)
240+
241+
def go_to_operational_reports_page(self) -> None:
242+
self.click(self.operational_reports_page)
243+
244+
def go_to_strategic_reports_page(self) -> None:
245+
self.click(self.strategic_reports_page)
246+
247+
def go_to_cancer_waiting_times_reports_page(self) -> None:
248+
self.click(self.cancer_waiting_times_reports_page)
249+
250+
def go_to_dashboard(self) -> None:
251+
self.click(self.dashboard)
252+
253+
# Reports pages shared buttons actions
254+
def click_refresh_button(self) -> None:
255+
self.click(self.refresh_page_button)
256+
257+
def click_generate_report_button(self) -> None:
258+
self.click(self.generate_report_button)
259+
260+
def click_reports_pages_update_button(self) -> None:
261+
self.click(self.reports_update_button)
262+
263+
# Failsafe Reports menu links
264+
def go_to_date_report_last_requested_page(self) -> None:
265+
self.click(self.date_report_last_requested_page)
266+
267+
def go_to_screening_subjects_with_inactive_open_episode_link_page(self) -> None:
268+
self.click(self.screening_subjects_with_inactive_open_episode_link_page)
269+
270+
def go_to_subjects_ceased_due_to_date_of_birth_changes_page(self) -> None:
271+
self.click(self.subjects_ceased_due_to_date_of_birth_changes_page)
272+
273+
def go_to_allocate_sc_for_patient_movements_within_hub_boundaries_page(self) -> None:
274+
self.click(self.allocate_sc_for_patient_movements_within_hub_boundaries_page)
275+
276+
def go_to_allocate_sc_for_patient_movements_into_your_hub_page(self) -> None:
277+
self.click(self.allocate_sc_for_patient_movements_into_your_hub_page)
278+
279+
def go_to_identify_and_link_new_gp_page(self) -> None:
280+
self.click(self.identify_and_link_new_gp_page)
281+
282+
# Operational Reports menu links
283+
def go_to_appointment_attendance_not_updated_page(self) -> None:
284+
self.click(self.appointment_attendance_not_updated_page)
285+
286+
def go_to_fobt_kits_logged_but_not_read_page(self) -> None:
287+
self.click(self.fobt_kits_logged_but_not_read_page)
288+
289+
def go_to_demographic_update_inconsistent_with_manual_update_page(self) -> None:
290+
self.click(self.demographic_update_inconsistent_with_manual_update_page)
291+
292+
def go_to_screening_practitioner_6_weeks_availability_not_set_up_report_page(self) -> None:
293+
self.click(self.screening_practitioner_6_weeks_availability_not_set_up_report_page)
294+
295+
def go_to_screening_practitioner_appointments_page(self) -> None:
296+
self.click(self.screening_practitioner_appointments_page)
297+
>>>>>>> 9311a0b (BCSS-20020: Compartment 1 Smokescreen Tests (#7))

pytest.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ markers =
2727
utils: test setup and support methods
2828
smoke: tests designed to run as part of the smokescreen regression test suite
2929
wip: tests that are currently in progress
30+
<<<<<<< HEAD
3031
only: when you want to mark a single test to run
32+
=======
33+
>>>>>>> 9311a0b (BCSS-20020: Compartment 1 Smokescreen Tests (#7))
3134
smokescreen: all compartments to be run as part of the smokescreen
3235
compartment1: only for compartment 1
3336
compartment2: only for compartment 2

0 commit comments

Comments
 (0)