Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
from playwright.sync_api import Page
from datetime import datetime

class HandoverIntoSymptomaticCarePage:
def __init__(self, page: Page):
self.page = page
self.referral_dropdown = self.page.get_by_label("Referral")
self.calendar_button = self.page.get_by_role("button", name="Calendar")
self.consultant_link = self.page.locator("#UI_NS_CONSULTANT_PIO_SELECT_LINK")
self.consultant_option = lambda value: self.page.locator(f'[value="{value}"]:visible')
self.notes_textbox = self.page.get_by_role("textbox", name="Notes")
self.save_button = self.page.get_by_role("button", name="Save")

def select_referral_dropdown_option(self, value: str):
self.referral_dropdown.select_option(value)

def click_calendar_button(self) -> None:
self.click(self.calendar_button)

def select_consultant(self, value: str):
self.consultant_link.click()
option = self.consultant_option(value)
option.wait_for(state="visible")
option.click()

def fill_notes(self, notes: str):
self.notes_textbox.click()
self.notes_textbox.fill(notes)

def click_save_button(self):
self.page.once("dialog", lambda dialog: dialog.accept())
self.click(self.save_button)

22 changes: 10 additions & 12 deletions tests/smokescreen/test_compartment_6.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,18 @@
from playwright.sync_api import Page, expect
from pages.base_page import BasePage
from utils.user_tools import UserTools
from utils.calendar_picker import CalendarPicker
from datetime import datetime
from utils.screening_subject_page_searcher import verify_subject_event_status_by_nhs_no
from pages.screening_subject_search.subject_screening_summary_page import (
SubjectScreeningSummaryPage,
)
from utils.batch_processing import batch_processing
from pages.logout.log_out_page import LogoutPage
from pages.datasets.subject_datasets_page import SubjectDatasetsPage
from pages.screening_subject_search.handover_into_symptomatic_care_page import (
HandoverIntoSymptomaticCarePage
)
from utils.calendar_picker import CalendarPicker
from datetime import datetime
from pages.screening_subject_search.record_diagnosis_date_page import (
Expand Down Expand Up @@ -243,19 +248,12 @@ def handover_subject_to_symptomatic_care(page: Page) -> None:
page.get_by_role("button", name="Handover into Symptomatic Care").click()

# The following code is on the handover into symptomatic care page
page.get_by_label("Referral").select_option("20445")
page.get_by_role("button", name="Calendar").click()
HandoverIntoSymptomaticCarePage(page).select_referral_dropdown_option("20445")
HandoverIntoSymptomaticCarePage(page).click_calendar_button()
CalendarPicker(page).v1_calender_picker(datetime.today())
page.locator("#UI_NS_CONSULTANT_PIO_SELECT_LINK").click()
option_locator = page.locator(
'[value="201"]:visible'
) # Here value '201' is referring to Consultant B, Frame
option_locator.wait_for(state="visible")
option_locator.click()
page.get_by_role("textbox", name="Notes").click()
page.get_by_role("textbox", name="Notes").fill("Test Automation")
page.once("dialog", lambda dialog: dialog.accept())
page.get_by_role("button", name="Save").click()
HandoverIntoSymptomaticCarePage(page).select_consultant("201")
HandoverIntoSymptomaticCarePage(page).fill_notes("Test Automation")
HandoverIntoSymptomaticCarePage(page).click_save_button()

SubjectScreeningSummaryPage(page).wait_for_page_title()
SubjectScreeningSummaryPage(page).verify_latest_event_status_value(
Expand Down