Fix high query load in pdf_data endpoints

This commit is contained in:
Raphael Michel
2022-07-22 17:11:49 +02:00
parent 826f1fcfa8
commit f6fa9b4b16
4 changed files with 64 additions and 23 deletions

View File

@@ -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(