pages/desktop/reviewer_tools/reviewer_themes.py (57 lines of code) (raw):
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from pages.desktop.base import Base
class ReviewerThemes(Base):
URL_TEMPLATE = "reviewers/queue/theme_new"
_themes_locator = (By.XPATH, "//li[@class='selected']//a[contains(text(),'Themes')]")
_addon_column_locator = (By.XPATH, "//th[contains(text(),'Add-on')]")
_flags_column_locator = (By.XPATH, "//th[contains(text(),'Flags')]")
_target_date_column_locator = (By.XPATH, "//a[contains(text(),'Target Date')]")
_due_date_column_themes_updates_locator = (By.XPATH, "//a[contains(text(),'Due Date')]")
def wait_for_themes_page_to_load(self):
self.wait.until(
lambda _: self.find_element(*self._themes_locator).is_displayed(),
message="Themes New was not loaded",
)
return self
@property
def themes_selected(self):
return self.find_element(*self._themes_locator)
# Queue Viewing ----------------------------------------------------------
@property
def addon_column(self):
return self.find_element(*self._addon_column_locator)
@property
def flags_column(self):
return self.find_element(*self._flags_column_locator)
@property
def target_date_column(self):
return self.find_element(*self._target_date_column_locator)
@property
def due_date_themes_updates_column(self):
return self.find_element(*self._due_date_column_themes_updates_locator)
# Assert Methods
def assert_queue_viewing_themes_awaiting_review(self):
assert (
self.addon_column.is_displayed(),
"Add-on" in self.addon_column.text
)
assert (
self.target_date_column.is_displayed(),
"Due Date" in self.target_date_column.text
)
assert (
self.flags_column.is_displayed(),
"Flags" in self.flags_column.text
)
def assert_queue_viewing_themes_updates(self):
assert (
self.addon_column.is_displayed(),
"Add-on" in self.addon_column.text
)
assert (
self.due_date_themes_updates_column.is_displayed(),
"Due Date" in self.due_date_themes_updates_column.text
)
assert (
self.flags_column.is_displayed(),
"Flags" in self.flags_column.text
)