Skip to content

Commit 9ec3bf4

Browse files
Adding locators to the new POM
1 parent 1ef8c2d commit 9ec3bf4

File tree

2 files changed

+24
-21
lines changed

2 files changed

+24
-21
lines changed

pages/screening_subject_search/record_diagnosis_date_page.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from playwright.sync_api import Page
22
from pages.base_page import BasePage
3+
from datetime import datetime
4+
from utils.calendar_picker import CalendarPicker
35

46

57
class RecordDiagnosisDatePage(BasePage):
@@ -10,7 +12,18 @@ def __init__(self, page: Page):
1012
self.page = page
1113
# Record Diagnosis Date - page locators
1214
self.diagnosis_date_field = self.page.locator("#diagnosisDate")
15+
self.save_button = self.page.get_by_role("button", name="Save")
1316

14-
def click_diagnosis_date_field(self) -> None:
15-
"""Click the diagnosis date field."""
17+
def enter_date_in_diagnosis_date_field(self, date: datetime) -> None:
18+
"""
19+
Enters a date in the diagnosis date field.
20+
Args:
21+
date (datetime): The date to enter in the field.
22+
"""
1623
self.click(self.diagnosis_date_field)
24+
CalendarPicker(self.page).v2_calendar_picker(date)
25+
self.diagnosis_date_field.press("Enter")
26+
27+
def click_save_button(self) -> None:
28+
"""Clicks the save button."""
29+
self.click(self.save_button)

tests/smokescreen/test_compartment_6.py

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
from pages.datasets.subject_datasets_page import SubjectDatasetsPage
1212
from utils.calendar_picker import CalendarPicker
1313
from datetime import datetime
14+
from pages.screening_subject_search.record_diagnosis_date_page import (
15+
RecordDiagnosisDatePage,
16+
)
1417
from pages.datasets.investigation_dataset_page import (
1518
InvestigationDatasetsPage,
1619
SiteLookupOptions,
@@ -309,9 +312,8 @@ def test_compartment_6(page: Page, smokescreen_properties: dict) -> None:
309312
page.get_by_role("button", name="Record Diagnosis Date").click()
310313

311314
# The following code is on the record diagnosis date page
312-
page.locator("#diagnosisDate").click()
313-
CalendarPicker(page).v2_calendar_picker(datetime.today())
314-
page.get_by_role("button", name="Save").click()
315+
RecordDiagnosisDatePage(page).enter_date_in_diagnosis_date_field(datetime.today())
316+
RecordDiagnosisDatePage(page).click_save_button()
315317

316318
SubjectScreeningSummaryPage(page).verify_latest_event_status_value(
317319
"A318 - Post-investigation Appointment NOT Required - Result Letter Created"
@@ -379,10 +381,8 @@ def test_compartment_6(page: Page, smokescreen_properties: dict) -> None:
379381
page.get_by_role("button", name="Record Diagnosis Date").click()
380382

381383
# The following code is on the record diagnosis date page
382-
page.locator("#diagnosisDate").click()
383-
CalendarPicker(page).v2_calendar_picker(datetime.today())
384-
page.locator("#diagnosisDate").press("Enter")
385-
page.get_by_role("button", name="Save").click()
384+
RecordDiagnosisDatePage(page).enter_date_in_diagnosis_date_field(datetime.today())
385+
RecordDiagnosisDatePage(page).click_save_button()
386386

387387
SubjectScreeningSummaryPage(page).verify_latest_event_status_value(
388388
"A318 - Post-investigation Appointment NOT Required - Result Letter Created"
@@ -431,18 +431,8 @@ def test_compartment_6(page: Page, smokescreen_properties: dict) -> None:
431431
page.get_by_role("button", name="Record Diagnosis Date").click()
432432

433433
# The following code is on the record diagnosis date page
434-
page.locator("#diagnosisDate").click()
435-
CalendarPicker(page).v2_calendar_picker(datetime.today())
436-
page.get_by_role("button", name="Save").click()
437-
438-
# Modification needs to be done to accept this list. it should check if any of the values in this list are present. Something like the following:
439-
# def get_first_visible_cell(page, values):
440-
# if isinstance(values, str):
441-
# values = [values]
442-
# for name in values:
443-
# locator = page.get_by_role("cell", name=name)
444-
# if locator.is_visible():
445-
# return locator
434+
RecordDiagnosisDatePage(page).enter_date_in_diagnosis_date_field(datetime.today())
435+
RecordDiagnosisDatePage(page).click_save_button()
446436

447437
batch_processing(
448438
page,

0 commit comments

Comments
 (0)