Skip to content

Commit cb59a42

Browse files
committed
Added POM for Subject Datasets and updated Compartment 5 tests accordingly.
1 parent 9b38f44 commit cb59a42

File tree

2 files changed

+68
-7
lines changed

2 files changed

+68
-7
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
from playwright.sync_api import Page, expect
2+
from pages.base_page import BasePage
3+
from enum import Enum
4+
5+
6+
class SubjectDatasets(BasePage):
7+
def __init__(self, page: Page):
8+
super().__init__(page)
9+
self.page = page
10+
11+
self.show_dataset_button = self.page.get_by_role(
12+
"link", name="Show Dataset"
13+
).click()
14+
15+
self.save_dataset_button = self.page.locator(
16+
"#UI_DIV_BUTTON_SAVE1"
17+
).get_by_role("button", name="Save Dataset")
18+
19+
self.select_asa_grade_dropdown = self.page.get_by_label("ASA Grade")
20+
21+
self.select_fit_for_colonoscopy_dropdown = self.page.get_by_label(
22+
"Fit for Colonoscopy (SSP)"
23+
)
24+
25+
self.dataset_complete_radio_button_yes = self.page.get_by_role(
26+
"radio", name="Yes"
27+
)
28+
29+
self.dataset_complete_radio_button_no = self.page.get_by_role(
30+
"radio", name="No"
31+
)
32+
33+
def click_show_datasets(self) -> None:
34+
self.show_dataset_button.click()
35+
36+
def save_dataset(self) -> None:
37+
self.save_dataset_button.click()
38+
39+
def select_asa_grade_option(self, option: str) -> None:
40+
self.select_asa_grade_dropdowen.select_option(option)
41+
42+
def select_fit_for_colonoscopy_option(self, option: str) -> None:
43+
self.select_fit_for_colonoscopy_dropdown.select_option(option)
44+
45+
def click_dataset_complete_radio_button_yes(self) -> None:
46+
self.dataset_complete_radio_button_yes.check()
47+
expect(self.dataset_complete_radio_button_yes).to_be_checked()
48+
49+
def click_dataset_complete_radio_button_no(self) -> None:
50+
self.dataset_complete_radio_button_no.check()
51+
expect(self.dataset_complete_radio_button_no).not_to_be_checked()
52+
53+
54+
class AsaGradeOptions(Enum):
55+
FIT = "17009"
56+
57+
58+
class FitForColonoscopySspOptions(Enum):
59+
YES = "17058"

tests/smokescreen/test_compartment_5.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from pages.base_page import BasePage
55
from pages.screening_practitioner_appointments.screening_practitioner_appointments import (
66
ScreeningPractitionerAppointmentsPage,
7+
subject_datasets,
78
)
89
from pages.screening_subject_search.subject_screening_summary import (
910
SubjectScreeningSummary,
@@ -87,22 +88,23 @@ def test_compartment_5(page: Page, smokescreen_properties: dict) -> None:
8788
SubjectScreeningSummary(page).click_datasets_link()
8889

8990
# Click on 'Show Dataset' next to the Colonoscopy Assessment
91+
subject_datasets(page).click_show_datasets()
9092

9193
# Populate Colonoscopy Assessment Details fields
9294

9395
# ASA Grade - I - Fit
96+
subject_datasets(page).select_asa_grade_option("FIT")
97+
9498
# Fit for Colonoscopy (SSP) - Yes
99+
subject_datasets(page).select_fit_for_colonoscopy_option("YES")
95100

96101
# Click 'Yes' for Dataset Complete?
102+
subject_datasets(page).click_dataset_complete_radio_button_yes()
103+
97104
# Click Save Dataset button
105+
subject_datasets(page).save_dataset().click()
106+
98107
# Click Back
99-
page.get_by_role("link", name="Show Dataset").click()
100-
page.get_by_label("ASA Grade").select_option("17009")
101-
page.get_by_label("Fit for Colonoscopy (SSP)").select_option("17058")
102-
page.get_by_role("radio", name="Yes").check()
103-
page.locator("#UI_DIV_BUTTON_SAVE1").get_by_role(
104-
"button", name="Save Dataset"
105-
).click()
106108
BasePage(page).click_back_button()
107109
BasePage(page).click_back_button()
108110
# This brings you back to the subject screening summary page

0 commit comments

Comments
 (0)