Skip to content

Commit 1f91908

Browse files
Adding code changes for Handover into symptomatic care page.
1 parent b11ecfa commit 1f91908

File tree

2 files changed

+76
-24
lines changed

2 files changed

+76
-24
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
from playwright.sync_api import Page
2+
from datetime import datetime
3+
4+
class HandoverIntoSymptomaticCarePage:
5+
def __init__(self, page: Page):
6+
self.page = page
7+
self.referral_dropdown = self.page.get_by_label("Referral")
8+
self.calendar_button = self.page.get_by_role("button", name="Calendar")
9+
self.consultant_link = self.page.locator("#UI_NS_CONSULTANT_PIO_SELECT_LINK")
10+
self.consultant_option = lambda value: self.page.locator(f'[value="{value}"]:visible')
11+
self.notes_textbox = self.page.get_by_role("textbox", name="Notes")
12+
self.save_button = self.page.get_by_role("button", name="Save")
13+
14+
def select_referral_dropdown_option(self, value: str):
15+
self.referral_dropdown.select_option(value)
16+
17+
def click_calendar_button(self) -> None:
18+
self.click(self.calendar_button)
19+
20+
def select_consultant(self, value: str):
21+
self.consultant_link.click()
22+
option = self.consultant_option(value)
23+
option.wait_for(state="visible")
24+
option.click()
25+
26+
def fill_notes(self, notes: str):
27+
self.notes_textbox.click()
28+
self.notes_textbox.fill(notes)
29+
30+
def click_save_button(self):
31+
self.page.once("dialog", lambda dialog: dialog.accept())
32+
self.click(self.save_button)
33+

tests/smokescreen/test_compartment_6.py

Lines changed: 43 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,18 @@
22
from playwright.sync_api import Page, expect
33
from pages.base_page import BasePage
44
from utils.user_tools import UserTools
5+
from utils.calendar_picker import CalendarPicker
6+
from datetime import datetime
57
from utils.screening_subject_page_searcher import verify_subject_event_status_by_nhs_no
68
from pages.screening_subject_search.subject_screening_summary_page import (
79
SubjectScreeningSummaryPage,
810
)
911
from utils.batch_processing import batch_processing
1012
from pages.logout.log_out_page import LogoutPage
1113
from pages.datasets.subject_datasets_page import SubjectDatasetsPage
14+
from pages.screening_subject_search.handover_into_symptomatic_care_page import (
15+
HandoverIntoSymptomaticCarePage
16+
)
1217

1318

1419
# This should go into a util. Adding it here to avoid SonarQube duplication errors:
@@ -148,18 +153,25 @@ def test_compartment_5(page: Page, smokescreen_properties: dict) -> None:
148153
page.get_by_role("button", name="Handover into Symptomatic Care").click()
149154

150155
# The following code is on the handover into symptomatic care page
151-
page.get_by_label("Referral").select_option("20445")
152-
page.get_by_role("button", name="Calendar").click()
153-
page.get_by_role(
154-
"cell", name="9", exact=True
155-
).click() # Todays date (v1 calendar picker)
156-
page.locator("#UI_NS_CONSULTANT_PIO_SELECT_LINK").click()
157-
page.locator("#UI_RESULTS_usgwmbob").select_option("201")
158-
page.locator("#UI_NS_PRACTITIONER_PIO_SELECT_LINK").click()
159-
page.get_by_role("textbox", name="Notes").click()
160-
page.get_by_role("textbox", name="Notes").fill("Test Automation")
161-
page.once("dialog", lambda dialog: dialog.accept())
162-
page.get_by_role("button", name="Save").click()
156+
#page.get_by_label("Referral").select_option("20445")
157+
#page.get_by_role("button", name="Calendar").click()
158+
#CalendarPicker(page).v1_calender_picker(datetime.today())
159+
#page.locator("#UI_NS_CONSULTANT_PIO_SELECT_LINK").click()
160+
# Here value '201' is refering to Consultant B, Frame
161+
#option_locator = page.locator('[value="201"]:visible')
162+
#option_locator.wait_for(state="visible")
163+
#option_locator.click()
164+
#page.get_by_role("textbox", name="Notes").click()
165+
#page.get_by_role("textbox", name="Notes").fill("Test Automation")
166+
#page.once("dialog", lambda dialog: dialog.accept())
167+
#page.get_by_role("button", name="Save").click()
168+
169+
HandoverIntoSymptomaticCarePage(page).select_referral_dropdown_option("20445")
170+
HandoverIntoSymptomaticCarePage(page).click_calendar_button()
171+
CalendarPicker(page).v1_calender_picker(datetime.today())
172+
HandoverIntoSymptomaticCarePage(page).select_consultant("201")
173+
HandoverIntoSymptomaticCarePage(page).fill_notes("Test Automation")
174+
HandoverIntoSymptomaticCarePage(page).click_save_button()
163175

164176
SubjectScreeningSummaryPage(page).verify_latest_event_status_value(
165177
"A385 - Handover into Symptomatic Care"
@@ -231,18 +243,25 @@ def test_compartment_5(page: Page, smokescreen_properties: dict) -> None:
231243
page.get_by_role("button", name="Handover into Symptomatic Care").click()
232244

233245
# The following code is on the handover into symptomatic care page
234-
page.get_by_label("Referral").select_option("20445")
235-
page.get_by_role("button", name="Calendar").click()
236-
page.get_by_role(
237-
"cell", name="9", exact=True
238-
).click() # Todays date (v1 calendar picker)
239-
page.locator("#UI_NS_CONSULTANT_PIO_SELECT_LINK").click()
240-
page.locator("#UI_RESULTS_ktdtoepq").select_option("201")
241-
page.locator("#UI_NS_PRACTITIONER_PIO_SELECT_LINK").click()
242-
page.get_by_role("textbox", name="Notes").click()
243-
page.get_by_role("textbox", name="Notes").fill("Test Automation")
244-
page.once("dialog", lambda dialog: dialog.accept())
245-
page.get_by_role("button", name="Save").click()
246+
#page.get_by_label("Referral").select_option("20445")
247+
#page.get_by_role("button", name="Calendar").click()
248+
#CalendarPicker(page).v1_calender_picker(datetime.today())
249+
#page.locator("#UI_NS_CONSULTANT_PIO_SELECT_LINK").click()
250+
# Here value '201' is refering to Consultant B, Frame
251+
#option_locator = page.locator('[value="201"]:visible')
252+
#option_locator.wait_for(state="visible")
253+
#option_locator.click()
254+
#page.get_by_role("textbox", name="Notes").click()
255+
#page.get_by_role("textbox", name="Notes").fill("Test Automation")
256+
#page.once("dialog", lambda dialog: dialog.accept())
257+
#page.get_by_role("button", name="Save").click()
258+
259+
HandoverIntoSymptomaticCarePage(page).select_referral_dropdown_option("20445")
260+
HandoverIntoSymptomaticCarePage(page).click_calendar_button()
261+
CalendarPicker(page).v1_calender_picker(datetime.today())
262+
HandoverIntoSymptomaticCarePage(page).select_consultant("201")
263+
HandoverIntoSymptomaticCarePage(page).fill_notes("Test Automation")
264+
HandoverIntoSymptomaticCarePage(page).click_save_button()
246265

247266
SubjectScreeningSummaryPage(page).verify_latest_event_status_value(
248267
"A385 - Handover into Symptomatic Care"

0 commit comments

Comments
 (0)