feat(jobs): paginate jobs list

This commit is contained in:
2026-06-21 09:12:46 +03:30
parent a2bd063c9c
commit c72ca7203f
6 changed files with 200 additions and 17 deletions

View File

@@ -6,6 +6,36 @@ from rest_framework.test import APIClient
from jobs.services import create_job
@pytest.mark.django_db
def test_jobs_use_limit_offset_pagination():
create_job(job_type="demo.success")
create_job(job_type="demo.fail")
create_job(job_type="demo.slow")
response = APIClient().get("/api/jobs/?limit=2")
assert response.status_code == 200
body = response.json()
assert body["count"] == 3
assert body["next"] is not None
assert body["previous"] is None
assert len(body["results"]) == 2
@pytest.mark.django_db
def test_jobs_pagination_supports_status_and_type_filters():
create_job(job_type="demo.success")
create_job(job_type="demo.fail")
create_job(job_type="demo.slow")
response = APIClient().get("/api/jobs/?status=queued&type=success&limit=10")
assert response.status_code == 200
body = response.json()
assert body["count"] == 1
assert body["results"][0]["type"] == "demo.success"
@pytest.mark.django_db
def test_global_events_use_cursor_pagination():
create_job(job_type="demo.success")