Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions tests/integration/test_webhook_dispatch.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,15 @@ async def test_webhook_dispatch_list_pagination(client: ApifyClient | ApifyClien
# `desc=True` must return dispatches in non-increasing `created_at` order.
created_ats = [d.created_at for d in page.items if d.created_at is not None]
assert created_ats == sorted(created_ats, reverse=True)
# `offset` must move the window — second page must not start with the same id as the first
# (only meaningful when the first page is full, i.e. at least 5 items exist).
if len(page.items) == 5:
next_page = await maybe_await(client.webhook_dispatches().list(limit=5, offset=5, desc=True))
# `offset` must move the window — the second page must not start with the same id as the first.
# Query in ascending order so the window is anchored to the oldest dispatches: with `desc=True`,
# dispatches created by other tests running in parallel land at the head and can shift the first
# page down into the second between the two calls, making both pages start with the same id.
asc_page = await maybe_await(client.webhook_dispatches().list(limit=5, offset=0, desc=False))
assert isinstance(asc_page, ListOfWebhookDispatches)
# Only meaningful when the first page is full, i.e. at least 5 dispatches exist.
if len(asc_page.items) == 5:
next_page = await maybe_await(client.webhook_dispatches().list(limit=5, offset=5, desc=False))
assert isinstance(next_page, ListOfWebhookDispatches)
if next_page.items:
assert page.items[0].id != next_page.items[0].id
assert asc_page.items[0].id != next_page.items[0].id
Loading