glue_scroll
django_spire.testing.playwright.components.glue_scroll
GlueScroll
Playwright component for django_spire/glue/scroll/scroll.html -- the v1 glue-backed infinite scroll.
Rows render client-side from a GlueQuerySetProxy, so assertions have to wait for a fetch to land rather than reading server-rendered HTML.
The base template owns only the loading spinner and the empty state; row markup comes entirely from the consumer's scroll_template_item block. Pass the selector matching one row for the page under test:
scroll = GlueScroll(page, row_selector='.row.border-bottom')
scroll.wait_for_rows()
scroll.search('prod')
scroll.wait_for_row_count(1)
Source code in django_spire/testing/playwright/components/glue_scroll.py
page = page
instance-attribute
row_selector = row_selector
instance-attribute
root_selector = root_selector
instance-attribute
root
property
rows
property
spinner
property
Owned by the base template -- shown while hasMore is true.
row_count
row_texts
is_loading
search
Fill the scroll's search input -- every consumer's scroll_header
block renders one input[type="search"] bound to searchQuery.