Skip to content

dropdown

django_spire.testing.playwright.components.dropdown

Dropdown

Playwright component for django_spire/dropdown/dropdown.html

Source code in django_spire/testing/playwright/components/dropdown.py
def __init__(self, parent_locator: Locator) -> None:
    self.parent = parent_locator

menu_selector = '.position-absolute.shadow-lg.card' class-attribute instance-attribute

trigger_selector = '[x-bind="trigger"]' class-attribute instance-attribute

parent = parent_locator instance-attribute

menu property

trigger property

click_option

Source code in django_spire/testing/playwright/components/dropdown.py
def click_option(self, text: str) -> None:
    self.menu.locator(f'text={text}').click()

close

Source code in django_spire/testing/playwright/components/dropdown.py
def close(self) -> None:
    if self.is_open():
        self.trigger.click()

get_option

Source code in django_spire/testing/playwright/components/dropdown.py
def get_option(self, text: str) -> Locator:
    return self.menu.locator(f'text={text}')

has_option

Source code in django_spire/testing/playwright/components/dropdown.py
def has_option(self, text: str) -> bool:
    return self.get_option(text).is_visible()

is_open

Source code in django_spire/testing/playwright/components/dropdown.py
def is_open(self) -> bool:
    return self.menu.is_visible()

open

Source code in django_spire/testing/playwright/components/dropdown.py
def open(self) -> None:
    if not self.is_open():
        self.trigger.click()

EllipsisDropdown

Bases: Dropdown

Playwright component for django_spire/dropdown/ellipsis_dropdown.html

Source code in django_spire/testing/playwright/components/dropdown.py
def __init__(self, parent_locator: Locator) -> None:
    self.parent = parent_locator

trigger_selector = '.bi-three-dots-vertical' class-attribute instance-attribute

click_delete

Source code in django_spire/testing/playwright/components/dropdown.py
def click_delete(self) -> None:
    self.click_option('Delete')

click_edit

Source code in django_spire/testing/playwright/components/dropdown.py
def click_edit(self) -> None:
    self.click_option('Edit')

click_view

Source code in django_spire/testing/playwright/components/dropdown.py
def click_view(self) -> None:
    self.click_option('View')

has_delete_option

Source code in django_spire/testing/playwright/components/dropdown.py
def has_delete_option(self) -> bool:
    return self.has_option('Delete')

has_edit_option

Source code in django_spire/testing/playwright/components/dropdown.py
def has_edit_option(self) -> bool:
    return self.has_option('Edit')

has_view_option

Source code in django_spire/testing/playwright/components/dropdown.py
def has_view_option(self) -> bool:
    return self.has_option('View')

EllipsisModalDropdown

Bases: EllipsisDropdown

Playwright component for django_spire/dropdown/ellipsis_modal_dropdown.html Dropdown options trigger modals via dispatch_modal_view()

Source code in django_spire/testing/playwright/components/dropdown.py
def __init__(self, parent_locator: Locator) -> None:
    self.parent = parent_locator

EllipsisTableDropdown

Bases: EllipsisDropdown

Playwright component for django_spire/dropdown/ellipsis_table_dropdown.html Used in table rows, positioned start-0 instead of end-0

Source code in django_spire/testing/playwright/components/dropdown.py
def __init__(self, parent_locator: Locator) -> None:
    self.parent = parent_locator

trigger_selector = 'td .bi-three-dots-vertical' class-attribute instance-attribute