|
1 | | -from playwright.sync_api import Page, expect |
| 1 | +from playwright.sync_api import Page, expect, Locator |
2 | 2 | from pages.base_page import BasePage |
| 3 | +from enum import Enum |
| 4 | +from utils.calendar_picker import CalendarPicker |
3 | 5 |
|
4 | 6 |
|
5 | | -class PractitionerAvailabilityPage(BasePage): |
| 7 | +class ContactWithPatientPage(BasePage): |
6 | 8 | def __init__(self, page: Page): |
7 | 9 | super().__init__(page) |
8 | 10 | self.page = page |
9 | | - # Practitioner Availability - page locators |
10 | | - self.site_id_dropdown = page.locator("#UI_SITE_ID") |
11 | | - self.screening_practitioner_dropdown = page.locator("#UI_PRACTITIONER_ID") |
| 11 | + |
| 12 | + # Contact With Patient - Page Locators |
| 13 | + self.contact_direction_dropdown = page.locator("#UI_DIRECTION") |
| 14 | + self.contact_made_between_Patient_and_dropdown = page.locator("#UI_CALLER_ID") |
12 | 15 | self.calendar_button = page.get_by_role("button", name="Calendar") |
13 | | - self.show_button = page.get_by_role("button", name="Show") |
14 | | - self.time_from_text_field = page.get_by_role("textbox", name="From:") |
15 | | - self.time_to_text_field = page.get_by_role("textbox", name="To:") |
16 | | - self.calculate_slots_button = page.get_by_role("button", name="Calculate Slots") |
17 | | - self.number_of_weeks_text_field = page.locator("#FOR_WEEKS") |
| 16 | + self.time_from_text_field = page.get_by_role("textbox", name="Start Time") |
| 17 | + self.time_to_text_field = page.get_by_role("textbox", name="End Time") |
| 18 | + self.discussion_record_text_field = page.get_by_role("textbox", name="Discussion Record") |
| 19 | + self.outcome_dropdown = page.locator("##UI_OUTCOME") |
18 | 20 | self.save_button = page.get_by_role("button", name="Save") |
19 | 21 |
|
20 | | - def select_site_dropdown_option(self, site_to_use: str) -> None: |
21 | | - self.site_id_dropdown.select_option(label=site_to_use) |
| 22 | + def select_direction_dropdown_option(self, direction: str) -> None: |
| 23 | + self.contact_direction_dropdown.select_option(label=direction) |
22 | 24 |
|
23 | | - def select_practitioner_dropdown_option(self, practitioner: str) -> None: |
24 | | - self.screening_practitioner_dropdown.select_option(label=practitioner) |
| 25 | + def select_callerid_dropdown_option(self, callerid: str) -> None: |
| 26 | + self.contact_made_between_Patient_and_dropdown.select_option(label=callerid) |
25 | 27 |
|
26 | 28 | def click_calendar_button(self) -> None: |
27 | 29 | self.click(self.calendar_button) |
28 | 30 |
|
29 | | - def click_show_button(self) -> None: |
30 | | - self.click(self.show_button) |
31 | | - |
32 | 31 | def enter_start_time(self, start_time: str) -> None: |
33 | 32 | self.time_from_text_field.fill(start_time) |
34 | 33 |
|
35 | 34 | def enter_end_time(self, end_time: str) -> None: |
36 | 35 | self.time_to_text_field.fill(end_time) |
37 | 36 |
|
38 | | - def click_calculate_slots_button(self) -> None: |
39 | | - self.click(self.calculate_slots_button) |
| 37 | + def enter_discussion_record_text(self, value: str) -> None: |
| 38 | + self.discussion_record_text_field.fill(value) |
40 | 39 |
|
41 | | - def enter_number_of_weeks(self, weeks: str) -> None: |
42 | | - self.number_of_weeks_text_field.fill(weeks) |
| 40 | + def select_outcome_dropdown_option(self, outcome: str) -> None: |
| 41 | + self.outcome_dropdown.select_option(label=outcome) |
43 | 42 |
|
44 | 43 | def click_save_button(self) -> None: |
45 | 44 | self.click(self.save_button) |
46 | 45 |
|
47 | | - def slots_updated_message_is_displayed(self, message: str) -> None: |
48 | | - expect(self.page.get_by_text(message)).to_be_visible() |
| 46 | + |
0 commit comments