Skip to content

Commit b590a8e

Browse files
Converting hard coded locators in tests/test_lynch_surveillance_page.py into POMs
1 parent 9b218e9 commit b590a8e

File tree

3 files changed

+31
-8
lines changed

3 files changed

+31
-8
lines changed

pages/lynch_invitation_page.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from playwright.sync_api import Page, expect
2+
from pages.base_page import BasePage
3+
4+
class LynchInvitationPage(BasePage):
5+
def __init__(self, page: Page):
6+
super().__init__(page)
7+
self.page = page
8+
# Lynch Invitation Page - Links
9+
self.set_lynch_invitation_rates_link = self.page.get_by_role("link", name="Set Lynch Invitation Rates")
10+
11+
def click_set_lynch_invitation_rates_link(self)->None:
12+
self.click(self.set_lynch_invitation_rates_link)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from playwright.sync_api import Page, expect
2+
from pages.base_page import BasePage
3+
4+
class SetLynchInvitationRatesPage(BasePage):
5+
def __init__(self, page: Page):
6+
super().__init__(page)
7+
self.page = page
8+
# Lynch Invitation Page - Links
9+
self.set_lynch_invitation_rates_title = self.page.locator("#page-title")
10+
11+
def verify_set_lynch_invitation_rates_title(self)->None:
12+
expect(self.set_lynch_invitation_rates_title).to_contain_text("Set Lynch Surveillance Invitation Rates")
Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import pytest
2-
from playwright.sync_api import Page, expect
3-
from utils.click_helper import click
2+
from playwright.sync_api import Page
43
from pages.base_page import BasePage
4+
from pages.lynch_invitation_page import LynchInvitationPage
5+
from pages.set_lynch_invitation_rates_page import SetLynchInvitationRatesPage
56
from utils.user_tools import UserTools
67

7-
88
@pytest.fixture(scope="function", autouse=True)
99
def before_each(page: Page):
1010
"""
@@ -17,17 +17,16 @@ def before_each(page: Page):
1717
# Go to Lynch Surveillance page
1818
BasePage(page).go_to_lynch_surveillance_page()
1919

20-
2120
@pytest.mark.smoke
2221
def test_lynch_surveillance_page_navigation(page: Page) -> None:
2322
"""
2423
Confirms that the 'set lynch invitation rates' link is visible and clickable, and navigates to the
2524
expected page when clicked
2625
"""
2726
# 'Set lynch invitation rates' page loads as expected
28-
click(page, page.get_by_role("link", name="Set Lynch Invitation Rates"))
29-
expect(page.locator("#page-title")).to_contain_text("Set Lynch Surveillance Invitation Rates")
27+
LynchInvitationPage(page).click_set_lynch_invitation_rates_link()
28+
SetLynchInvitationRatesPage(page).verify_set_lynch_invitation_rates_title()
3029

3130
# Return to main menu
32-
click(page, page.get_by_role("link", name="Main Menu"))
33-
expect(page.locator("#ntshPageTitle")).to_contain_text("Main Menu")
31+
BasePage(page).click_main_menu_link()
32+
BasePage(page).main_menu_header_is_displayed()

0 commit comments

Comments
 (0)