mirror of
https://github.com/pretix/pretix.git
synced 2026-05-04 15:04:03 +00:00
Fix high query load in pdf_data endpoints
This commit is contained in:
@@ -898,7 +898,7 @@ def test_checkin_only_permission(token_client, event, team, organizer, clist_all
|
||||
assert resp.status_code == 200
|
||||
assert resp.data['count'] > 0
|
||||
|
||||
# With all permissions, I can not request PDF data during checkin
|
||||
# With limited permissions, I can not request PDF data during checkin
|
||||
resp = _redeem(token_client, organizer, [clist_all], p.secret, {}, '?pdf_data=true')
|
||||
assert resp.status_code == 201
|
||||
assert not resp.data['position'].get('pdf_data')
|
||||
|
||||
@@ -1657,7 +1657,7 @@ def test_revoked_secret_list(token_client, organizer, event):
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_pdf_data(token_client, organizer, event, order):
|
||||
def test_pdf_data(token_client, organizer, event, order, django_assert_max_num_queries):
|
||||
# order detail
|
||||
resp = token_client.get('/api/v1/organizers/{}/events/{}/orders/{}/?pdf_data=true'.format(
|
||||
organizer.slug, event.slug, order.code
|
||||
@@ -1671,9 +1671,10 @@ def test_pdf_data(token_client, organizer, event, order):
|
||||
assert not resp.data['positions'][0].get('pdf_data')
|
||||
|
||||
# order list
|
||||
resp = token_client.get('/api/v1/organizers/{}/events/{}/orders/?pdf_data=true'.format(
|
||||
organizer.slug, event.slug
|
||||
))
|
||||
with django_assert_max_num_queries(29):
|
||||
resp = token_client.get('/api/v1/organizers/{}/events/{}/orders/?pdf_data=true'.format(
|
||||
organizer.slug, event.slug
|
||||
))
|
||||
assert resp.status_code == 200
|
||||
assert resp.data['results'][0]['positions'][0].get('pdf_data')
|
||||
resp = token_client.get('/api/v1/organizers/{}/events/{}/orders/'.format(
|
||||
@@ -1683,9 +1684,10 @@ def test_pdf_data(token_client, organizer, event, order):
|
||||
assert not resp.data['results'][0]['positions'][0].get('pdf_data')
|
||||
|
||||
# position list
|
||||
resp = token_client.get('/api/v1/organizers/{}/events/{}/orderpositions/?pdf_data=true'.format(
|
||||
organizer.slug, event.slug
|
||||
))
|
||||
with django_assert_max_num_queries(32):
|
||||
resp = token_client.get('/api/v1/organizers/{}/events/{}/orderpositions/?pdf_data=true'.format(
|
||||
organizer.slug, event.slug
|
||||
))
|
||||
assert resp.status_code == 200
|
||||
assert resp.data['results'][0].get('pdf_data')
|
||||
resp = token_client.get('/api/v1/organizers/{}/events/{}/orderpositions/'.format(
|
||||
|
||||
Reference in New Issue
Block a user