pages/desktop/reviewer_tools/manual_review.py (49 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 ManualReview(Base): URL_TEMPLATE = "reviewers/queue/extension" # Tab Navigation _manual_review_tab_locator = (By.XPATH, "//li[@class='selected']//a[contains(text(),'Manual Review')]") # Queue Viewing _addon_column_locator = (By.XPATH, "//th[contains(text(),'Add-on')]") _type_column_locator = (By.XPATH, "//th[contains(text(),'Type')]") _due_date_column_locator = (By.XPATH, "//a[contains(text(),'Due Date')]") _flag_column_locator = (By.XPATH, "//th[contains(text(),'Flags')]") _addon_list_locator = (By.CSS_SELECTOR, "#addon-queue > tbody > tr") def wait_for_page_to_load(self): self.wait.until( lambda _: self.find_element(*self._manual_review_tab_locator).is_displayed(), message="Manual Review Page was not loaded", ) return self # Queue Viewing -------------------------------------------------------- @property def addon_column(self): return self.find_element(*self._addon_column_locator) @property def type_column(self): return self.find_element(*self._type_column_locator) @property def due_date_column(self): return self.find_element(*self._due_date_column_locator) @property def flag_column(self): return self.find_element(*self._flag_column_locator) @property def addon_list(self): return self.find_element(*self._addon_list_locator) # Assert Methods ---------------------------------------------------------- def assert_queue_viewing_manual_review(self): assert ( self.addon_column.is_displayed(), "Add-on" in self.addon_column.text ) assert ( self.type_column.is_displayed(), "Type" in self.type_column.text ) assert ( self.due_date_column.is_displayed(), "Due Date" in self.due_date_column.text ) assert ( self.flag_column.is_displayed(), "Flags" in self.flag_column.text )