Source code for pages.payments.orders

"""OpenStax payment orders page object."""

from selenium.webdriver.common.by import By

from pages.payments.base import PaymentsBase
from pages.payments.orders_detail import PaymentOrdersDetail
from regions.payments.nav import PaymentsNav
from regions.payments.section import PaymentsListSection


[docs]class PaymentOrders(PaymentsBase): """OpenStax payment orders page object.""" _section_locator = (By.CSS_SELECTOR, '.results tbody') @property def nav(self): """Return the nav bar region.""" return PaymentsNav(self) @property def orders_list(self): """Return the order list region.""" return self.OrdersList(self, self.find_element(*self._section_locator))
[docs] class OrdersList(PaymentsListSection): """The section of order lists."""
[docs] class Item(PaymentsListSection.Item): """The section of order items.""" _time_locator = (By.CLASS_NAME, 'field-created') _identifier_locator = (By.CLASS_NAME, 'field-identifier') _product_locator = (By.CLASS_NAME, 'field-product') _uuid_locator = (By.CLASS_NAME, 'field-student_account_uuid')
[docs] def click_item(self): """Click into the current item.""" self.find_element(*self._btn_locator).click() return PaymentOrdersDetail(self.driver)
@property def get_order_time(self): """Return the sent time of an order entry.""" return self.find_element(*self._time_locator).text @property def get_order_identifier(self): """Return the identifier of an order entry.""" return self.find_element(*self._identifier_locator).text @property def get_order_product(self): """Return the product of an order entry.""" return self.find_element(*self._product_locator).text @property def get_order_uuid(self): """Return the uuid of an order entry.""" return self.find_element(*self._uuid_locator).text